From 3643eca3f71bafa0f969d22306c017091c3ca5bd Mon Sep 17 00:00:00 2001 From: Vladimir Eremin Date: Sun, 23 Aug 2026 17:52:00 +0300 Subject: [PATCH] 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` --- .../services-www-releases-dispatch-release.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/.github/workflows/services-www-releases-dispatch-release.yml b/.github/workflows/services-www-releases-dispatch-release.yml index e13a745..f975d46 100644 --- a/.github/workflows/services-www-releases-dispatch-release.yml +++ b/.github/workflows/services-www-releases-dispatch-release.yml @@ -2,6 +2,12 @@ name: services/www - releases/dispatch-release on: workflow_dispatch: + inputs: + skip_ci: + description: 'Skip CI checks (fast build, push & GitOps deploy)' + type: boolean + required: false + default: false permissions: contents: read @@ -10,6 +16,7 @@ permissions: jobs: setup-stage: name: Setup - Stage + if: ${{ !inputs.skip_ci }} runs-on: ubuntu-latest outputs: cache-hit: ${{ steps.cache-pnpm-store.outputs.cache-hit }} @@ -41,6 +48,7 @@ jobs: build-configs: name: Build - Configs needs: setup-stage + if: ${{ !inputs.skip_ci }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -73,6 +81,7 @@ jobs: lint-www: name: Lint - WWW needs: build-configs + if: ${{ !inputs.skip_ci }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -97,6 +106,7 @@ jobs: typecheck-www: name: Typecheck - WWW needs: build-configs + if: ${{ !inputs.skip_ci }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -121,6 +131,7 @@ jobs: build-storybook: name: Build - Storybook needs: build-configs + if: ${{ !inputs.skip_ci }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -151,6 +162,7 @@ jobs: test-www: name: Test - Unit needs: build-configs + if: ${{ !inputs.skip_ci }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -175,6 +187,7 @@ jobs: test-storybook: name: Test - Storybook needs: build-storybook + if: ${{ !inputs.skip_ci }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -206,6 +219,7 @@ jobs: build-www: name: Build - WWW Service needs: build-configs + if: ${{ !inputs.skip_ci }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -230,6 +244,7 @@ jobs: release-tag-docker: name: Release - Tag & Docker 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 environment: services-www-releases-publish permissions: