Skip to content

🚀 Release

🚀 Release #9

Workflow file for this run

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
release-failure:
runs-on: ubuntu-latest
needs: [ install, lint, build ]
if: false
steps:
- name: Mark release as bad
uses: actions/github-script@v7
with:
script: |
const { owner, repo } = context.repo;
const tag_name = context.ref.replace('refs/tags/', '');
const release = await github.rest.repos.getReleaseByTag({ owner, repo, tag: tag_name });
await github.repos.updateRelease({
owner,
repo,
release_id: release.data.id,
body: release.data.body + '\n\n:warning: The release build has failed.',
draft: true
});