🚀 Release #13
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "🚀 Release" | |
on: | |
workflow_dispatch: | |
concurrency: "release" | |
jobs: | |
install: | |
runs-on: ubuntu-latest | |
steps: | |
- name: "📥 Checkout code" | |
uses: actions/checkout@v4 | |
- name: "📦 Install dependencies" | |
uses: reactgular/cache@v1 | |
with: | |
mode: "install" | |
version: | |
runs-on: ubuntu-latest | |
steps: | |
- name: "📥 Checkout code" | |
uses: actions/checkout@v4 | |
- name: "🔍 Read package.json version" | |
id: version | |
run: | | |
VERSION=$(jq -r .version < package.json) | |
echo "version=${VERSION}" >> $GITHUB_OUTPUT | |
echo "::notice file={package.json},title={Release Version}::Release version: ${VERSION}" | |
outputs: | |
package_version: ${{ steps.version.outputs.version }} | |
lint: | |
runs-on: ubuntu-latest | |
needs: [ install ] | |
if: false | |
steps: | |
- name: "📥 Checkout code" | |
uses: actions/checkout@v4 | |
- name: "💽 Restore node_modules cache" | |
uses: reactgular/cache@v1 | |
with: | |
mode: "restore" | |
- name: "🔨 Lint" | |
run: yarn lint | |
test: | |
runs-on: ubuntu-latest | |
needs: [ install ] | |
if: false | |
steps: | |
- name: "📥 Checkout code" | |
uses: actions/checkout@v4 | |
- name: "💽 Restore node_modules cache" | |
uses: reactgular/cache@v1 | |
with: | |
mode: "restore" | |
- name: "🔨 Test" | |
run: ${{ env.NX }} affected -t test | |
storybooks: | |
runs-on: ubuntu-latest | |
needs: [ install ] | |
if: false | |
steps: | |
- name: "📥 Checkout code" | |
uses: actions/checkout@v4 | |
- name: "💽 Restore node_modules cache" | |
uses: reactgular/cache@main | |
with: | |
mode: "restore" | |
- name: "🔨 Build storybooks" | |
run: yarn build-storybook | |
build: | |
runs-on: ubuntu-latest | |
needs: [ install ] | |
if: false | |
steps: | |
- name: "📥 Checkout code" | |
uses: actions/checkout@v4 | |
- name: "💽 Restore node_modules cache" | |
uses: reactgular/cache@v1 | |
with: | |
mode: "restore" | |
- name: "🔨 Build projects" | |
run: yarn build | |
publish-release: | |
runs-on: ubuntu-latest | |
needs: [ version ] | |
steps: | |
- name: "🚀 Publish release" | |
uses: actions/github-script@v7 | |
with: | |
script: | | |
const { owner, repo } = context.repo; | |
const tag_name = 'v${{needs.version.outputs.package_version}}'; | |
const {data: release} = await github.rest.repos.generateReleaseNotes({ | |
owner, | |
repo, | |
tag_name | |
}); | |
await github.rest.repos.createRelease({ | |
owner, | |
repo, | |
tag_name, | |
name: release.name, | |
body: release.body | |
}); |