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