From 231f88db99a85e98c82abd3d94ea0d8fd3d85b20 Mon Sep 17 00:00:00 2001 From: Adam Benhassen Date: Thu, 27 Nov 2025 15:05:03 +0100 Subject: [PATCH] ci: optimize workflow caching and add concurrency controls --- .github/actions/setup/action.yml | 2 +- .github/workflows/build-and-dockerize.yaml | 1 + .github/workflows/lint.yaml | 2 +- .github/workflows/main.yaml | 4 ++++ .github/workflows/pr.yaml | 4 ++++ .github/workflows/prettier.yaml | 2 +- 6 files changed, 12 insertions(+), 3 deletions(-) diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index 6d0015b0c70..6f181fd59ba 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -34,7 +34,7 @@ runs: if [ ${{ inputs.installDependencies }} = true ]; then echo "cache=pnpm" >> $GITHUB_OUTPUT else - echo "cache=" >> "$GITHUB_ENV" + echo "cache=" >> $GITHUB_OUTPUT fi - name: install pnpm diff --git a/.github/workflows/build-and-dockerize.yaml b/.github/workflows/build-and-dockerize.yaml index 9f197a6dbc7..57c5b6895c7 100644 --- a/.github/workflows/build-and-dockerize.yaml +++ b/.github/workflows/build-and-dockerize.yaml @@ -169,6 +169,7 @@ jobs: source: . set: | *.cache-from=type=gha,ignore-error=true,scope=${{ steps.docker_cache_key.outputs.replaced }} + *.cache-from=type=gha,ignore-error=true,scope=refs_heads_main-${{ inputs.targets }}-${{ matrix.platform == 'linux/amd64' && 'linux_amd64' || 'linux_arm64' }} *.cache-to=type=gha,mode=max,ignore-error=true,scope=${{ steps.docker_cache_key.outputs.replaced }} - name: docker details pr comment diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index 463cbbf129d..1ca892ac606 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -27,7 +27,7 @@ jobs: node_modules/.cache/prettier key: lint-cache-${{ hashFiles('**/pnpm-lock.yaml', 'packages/web/*/tailwind.config.ts', - 'tsconfig.eslint.json', 'packages/web/app/tsconfig.json') }}-${{github.sha}} + 'tsconfig.eslint.json', 'packages/web/app/tsconfig.json') }} restore-keys: | lint-cache-${{ hashFiles('**/pnpm-lock.yaml', 'packages/web/*/tailwind.config.ts', 'tsconfig.eslint.json', 'packages/web/app/tsconfig.json') }}- diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index cc91fd51958..ad83c931f76 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -4,6 +4,10 @@ on: branches: - main +concurrency: + group: ci-main + cancel-in-progress: false + jobs: # Release NPM packages and tarballs package: diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 216148461c1..80f3540b96e 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -2,6 +2,10 @@ name: pr on: pull_request: {} +concurrency: + group: pr-${{ github.event.pull_request.number }} + cancel-in-progress: true + env: HIVE_TOKEN: ${{ secrets.HIVE_TOKEN }} diff --git a/.github/workflows/prettier.yaml b/.github/workflows/prettier.yaml index edca63e5bd9..ed718881f4f 100644 --- a/.github/workflows/prettier.yaml +++ b/.github/workflows/prettier.yaml @@ -32,7 +32,7 @@ jobs: path: | .eslintcache node_modules/.cache/prettier - key: lint-cache-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ github.sha }} + key: lint-cache-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | lint-cache-${{ hashFiles('**/pnpm-lock.yaml') }}-