From 58cd1a099e335942d11e8849bcd16611c2197548 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yves=20Desgagn=C3=A9?= Date: Mon, 18 May 2026 09:02:06 -0400 Subject: [PATCH] Add build-workflow concurrency (CI-009) and JS node-cache via config (CI-007) --- config/languages.yaml | 2 +- lib/ghb/application.rb | 8 +++++++- spec/fixtures/workflow_generation/build.yml | 3 +++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/config/languages.yaml b/config/languages.yaml index bdf28a7..f816b71 100644 --- a/config/languages.yaml +++ b/config/languages.yaml @@ -109,7 +109,7 @@ js: - name: node-token value: - name: node-cache - value: + value: npm - name: node-cache-dependency-path value: dependencies: diff --git a/lib/ghb/application.rb b/lib/ghb/application.rb index 9898bd7..92354f6 100644 --- a/lib/ghb/application.rb +++ b/lib/ghb/application.rb @@ -235,7 +235,13 @@ def workflow_set_defaults end @new_workflow.env = @old_workflow.env @new_workflow.defaults = @old_workflow.defaults || {} - @new_workflow.concurrency = @old_workflow.concurrency || {} + @new_workflow.concurrency = + if @old_workflow.concurrency.any? + @old_workflow.concurrency + else + # Cancel superseded full builds when a PR branch is pushed again. + { group: 'build-${{github.ref}}', 'cancel-in-progress': true } + end end def collect_required_status_checks diff --git a/spec/fixtures/workflow_generation/build.yml b/spec/fixtures/workflow_generation/build.yml index 9f74bdd..9b8de52 100644 --- a/spec/fixtures/workflow_generation/build.yml +++ b/spec/fixtures/workflow_generation/build.yml @@ -20,6 +20,9 @@ permissions: pull-requests: read env: RUBY-BUNDLER-CACHE: true +concurrency: + group: build-${{github.ref}} + cancel-in-progress: true jobs: variables: name: Prepare Variables