feat(ci): add skip_ci option to www dispatch release workflow (#41)
### Summary of Changes - Added `skip_ci: boolean` input to `services-www-releases-dispatch-release.yml` - When `skip_ci: true`, all CI test/lint/typecheck/storybook jobs are bypassed and the workflow executes immediately: 1. Build Docker image with version metadata 2. Push image to GHCR and tag 3. Deploy updated image tag to GitOps (`ci/k8s/apps/www/kustomization.yaml`) 4. Verify production rollout on `https://www.ermnvldmr.com/version.json`
This commit is contained in:
1 parent
57f5e7ea64
commit
3643eca3f7
1 file changed
+15
@@ -2,6 +2,12 @@ name: services/www - releases/dispatch-release
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
skip_ci:
|
||||||
|
description: 'Skip CI checks (fast build, push & GitOps deploy)'
|
||||||
|
type: boolean
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
@@ -10,6 +16,7 @@ permissions:
|
|||||||
jobs:
|
jobs:
|
||||||
setup-stage:
|
setup-stage:
|
||||||
name: Setup - Stage
|
name: Setup - Stage
|
||||||
|
if: ${{ !inputs.skip_ci }}
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
outputs:
|
outputs:
|
||||||
cache-hit: ${{ steps.cache-pnpm-store.outputs.cache-hit }}
|
cache-hit: ${{ steps.cache-pnpm-store.outputs.cache-hit }}
|
||||||
@@ -41,6 +48,7 @@ jobs:
|
|||||||
build-configs:
|
build-configs:
|
||||||
name: Build - Configs
|
name: Build - Configs
|
||||||
needs: setup-stage
|
needs: setup-stage
|
||||||
|
if: ${{ !inputs.skip_ci }}
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
@@ -73,6 +81,7 @@ jobs:
|
|||||||
lint-www:
|
lint-www:
|
||||||
name: Lint - WWW
|
name: Lint - WWW
|
||||||
needs: build-configs
|
needs: build-configs
|
||||||
|
if: ${{ !inputs.skip_ci }}
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
@@ -97,6 +106,7 @@ jobs:
|
|||||||
typecheck-www:
|
typecheck-www:
|
||||||
name: Typecheck - WWW
|
name: Typecheck - WWW
|
||||||
needs: build-configs
|
needs: build-configs
|
||||||
|
if: ${{ !inputs.skip_ci }}
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
@@ -121,6 +131,7 @@ jobs:
|
|||||||
build-storybook:
|
build-storybook:
|
||||||
name: Build - Storybook
|
name: Build - Storybook
|
||||||
needs: build-configs
|
needs: build-configs
|
||||||
|
if: ${{ !inputs.skip_ci }}
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
@@ -151,6 +162,7 @@ jobs:
|
|||||||
test-www:
|
test-www:
|
||||||
name: Test - Unit
|
name: Test - Unit
|
||||||
needs: build-configs
|
needs: build-configs
|
||||||
|
if: ${{ !inputs.skip_ci }}
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
@@ -175,6 +187,7 @@ jobs:
|
|||||||
test-storybook:
|
test-storybook:
|
||||||
name: Test - Storybook
|
name: Test - Storybook
|
||||||
needs: build-storybook
|
needs: build-storybook
|
||||||
|
if: ${{ !inputs.skip_ci }}
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
@@ -206,6 +219,7 @@ jobs:
|
|||||||
build-www:
|
build-www:
|
||||||
name: Build - WWW Service
|
name: Build - WWW Service
|
||||||
needs: build-configs
|
needs: build-configs
|
||||||
|
if: ${{ !inputs.skip_ci }}
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
@@ -230,6 +244,7 @@ jobs:
|
|||||||
release-tag-docker:
|
release-tag-docker:
|
||||||
name: Release - Tag & Docker
|
name: Release - Tag & Docker
|
||||||
needs: [lint-www, typecheck-www, test-www, test-storybook, build-www]
|
needs: [lint-www, typecheck-www, test-www, test-storybook, build-www]
|
||||||
|
if: ${{ always() && (inputs.skip_ci || (!contains(needs.*.result, 'failure') && !contains(needs.*.result, 'cancelled'))) }}
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
environment: services-www-releases-publish
|
environment: services-www-releases-publish
|
||||||
permissions:
|
permissions:
|
||||||
|
|||||||
Reference in new issue
Block a user