fix: scope deploy triggers and cancel stale workflow runs
Deploy Claude Dev (Dev) / deploy-claude-dev-dev (push) Waiting to run
Deploy Dashboard (Dev) / deploy-dev (push) Successful in 2m9s

Limit workflow path triggers to each workflow file, add concurrency groups to cancel outdated runs, and checkout the exact triggering SHA for deterministic deploys.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Gan, Jimmy
2026-03-03 00:28:02 +08:00
parent d8e6f5716a
commit ce061c1977
3 changed files with 35 additions and 8 deletions
+11 -2
View File
@@ -11,6 +11,10 @@ on:
description: 'Optional full image ref (for rollback), e.g. claude-dev:dev-abc123' description: 'Optional full image ref (for rollback), e.g. claude-dev:dev-abc123'
required: false required: false
concurrency:
group: deploy-claude-dev-dev
cancel-in-progress: true
jobs: jobs:
deploy-claude-dev-dev: deploy-claude-dev-dev:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -19,8 +23,13 @@ jobs:
- /var/packages/ContainerManager/target/usr/bin/docker:/usr/bin/docker - /var/packages/ContainerManager/target/usr/bin/docker:/usr/bin/docker
- /volume1/docker/claude-dev:/claude-dev-runtime - /volume1/docker/claude-dev:/claude-dev-runtime
steps: steps:
- name: Checkout dev branch - name: Checkout exact commit
run: git clone --depth 1 --branch dev http://gitea:3000/jimmy/nas-tools.git . run: |
set -euo pipefail
git init .
git remote add origin http://gitea:3000/jimmy/nas-tools.git
git fetch --depth 1 origin "$GITHUB_SHA"
git checkout --detach FETCH_HEAD
- name: Resolve image tags - name: Resolve image tags
run: | run: |
+12 -3
View File
@@ -4,7 +4,11 @@ on:
branches: [dev] branches: [dev]
paths: paths:
- 'dashboard/**' - 'dashboard/**'
- '.gitea/workflows/**' - '.gitea/workflows/deploy-dev.yml'
concurrency:
group: deploy-dashboard-dev
cancel-in-progress: true
jobs: jobs:
deploy-dev: deploy-dev:
@@ -14,8 +18,13 @@ jobs:
- /var/packages/ContainerManager/target/usr/bin/docker:/usr/bin/docker - /var/packages/ContainerManager/target/usr/bin/docker:/usr/bin/docker
- /volume1/docker/nas-dashboard:/nas-dashboard - /volume1/docker/nas-dashboard:/nas-dashboard
steps: steps:
- name: Checkout dev branch - name: Checkout exact commit
run: git clone --depth 1 --branch dev http://gitea:3000/jimmy/nas-tools.git . run: |
set -euo pipefail
git init .
git remote add origin http://gitea:3000/jimmy/nas-tools.git
git fetch --depth 1 origin "$GITHUB_SHA"
git checkout --detach FETCH_HEAD
- name: Build dev image - name: Build dev image
run: DOCKER_BUILDKIT=0 docker build --cache-from nas-dashboard-dev:latest -t nas-dashboard-dev:latest dashboard/ run: DOCKER_BUILDKIT=0 docker build --cache-from nas-dashboard-dev:latest -t nas-dashboard-dev:latest dashboard/
- name: Deploy dev - name: Deploy dev
+12 -3
View File
@@ -4,7 +4,11 @@ on:
branches: [main] branches: [main]
paths: paths:
- 'dashboard/**' - 'dashboard/**'
- '.gitea/workflows/**' - '.gitea/workflows/deploy.yml'
concurrency:
group: deploy-dashboard-main
cancel-in-progress: true
jobs: jobs:
deploy: deploy:
@@ -14,8 +18,13 @@ jobs:
- /var/packages/ContainerManager/target/usr/bin/docker:/usr/bin/docker - /var/packages/ContainerManager/target/usr/bin/docker:/usr/bin/docker
- /volume1/docker/nas-dashboard:/nas-dashboard - /volume1/docker/nas-dashboard:/nas-dashboard
steps: steps:
- name: Checkout - name: Checkout exact commit
run: git clone --depth 1 http://gitea:3000/jimmy/nas-tools.git . run: |
set -euo pipefail
git init .
git remote add origin http://gitea:3000/jimmy/nas-tools.git
git fetch --depth 1 origin "$GITHUB_SHA"
git checkout --detach FETCH_HEAD
- name: Build - name: Build
run: DOCKER_BUILDKIT=0 docker build -t nas-dashboard:latest dashboard/ run: DOCKER_BUILDKIT=0 docker build -t nas-dashboard:latest dashboard/
- name: Deploy - name: Deploy