From 113fae4e7b0f5d6882dd29c63cdb51d09c70c613 Mon Sep 17 00:00:00 2001 From: James Couball Date: Wed, 16 Apr 2025 18:19:01 -0700 Subject: [PATCH] fix: do not trigger build workflows after merging to main or for release PRs Since all merges to the main branch must be a fast-forward rebase, CI builds should not be run when merged to main. They are run via the pull request before merging. The continuous_integration workflow should be triggered for pull requests targeting main. The experimental_ruby_builds workflow should only be triggered manually via the GitHub UI. Move unneeded builds from continuous_integration to experimental_ruby_builds There is not a good reason to have a specific builds in the continuous_integration workflow on Windows, or using JRuby or TruffleRuby. --- .github/workflows/continuous_integration.yml | 20 ++++--------------- .../enforce_conventional_commits.yml | 4 ++++ .../workflows/experimental_ruby_builds.yml | 17 ++++++++++++---- 3 files changed, 21 insertions(+), 20 deletions(-) diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml index fc66193..dfedcf2 100644 --- a/.github/workflows/continuous_integration.yml +++ b/.github/workflows/continuous_integration.yml @@ -1,9 +1,6 @@ name: Continuous Integration on: - push: - branches: [main] - pull_request: branches: [main] @@ -22,6 +19,10 @@ jobs: build: name: Ruby ${{ matrix.ruby }} on ${{ matrix.operating-system }} + if: >- + github.event_name == 'workflow_dispatch' || + (github.event_name == 'pull_request' && !startsWith(github.event.pull_request.head.ref, 'release-please--')) + runs-on: ${{ matrix.operating-system }} continue-on-error: true @@ -34,19 +35,6 @@ jobs: ruby: ["3.1", "3.4"] operating-system: [ubuntu-latest] fail_on_low_coverage: ["true"] - include: - - ruby: "jruby-9.4" - operating-system: ubuntu-latest - fail_on_low_coverage: "false" - - ruby: "truffleruby-24" - operating-system: ubuntu-latest - fail_on_low_coverage: "false" - - ruby: "3.1" - operating-system: windows-latest - fail_on_low_coverage: "false" - - ruby: "jruby-9.4" - operating-system: windows-latest - fail_on_low_coverage: "false" steps: - name: Checkout diff --git a/.github/workflows/enforce_conventional_commits.yml b/.github/workflows/enforce_conventional_commits.yml index a3e1a5d..8e85bdb 100644 --- a/.github/workflows/enforce_conventional_commits.yml +++ b/.github/workflows/enforce_conventional_commits.yml @@ -9,6 +9,10 @@ jobs: commit-lint: name: Verify Conventional Commits + if: >- + github.event_name == 'workflow_dispatch' || + (github.event_name == 'pull_request' && !startsWith(github.event.pull_request.head.ref, 'release-please--')) + runs-on: ubuntu-latest steps: diff --git a/.github/workflows/experimental_ruby_builds.yml b/.github/workflows/experimental_ruby_builds.yml index c95821d..edc9697 100644 --- a/.github/workflows/experimental_ruby_builds.yml +++ b/.github/workflows/experimental_ruby_builds.yml @@ -1,9 +1,6 @@ name: Experimental Ruby Builds on: - push: - branches: [main] - workflow_dispatch: env: @@ -29,21 +26,33 @@ jobs: fail-fast: false matrix: include: + - ruby: "3.1" + operating-system: windows-latest + fail_on_low_coverage: "false" - ruby: head operating-system: ubuntu-latest fail_on_low_coverage: "true" - ruby: head operating-system: windows-latest fail_on_low_coverage: "false" - - ruby: truffleruby-head + - ruby: "jruby-9.4" operating-system: ubuntu-latest fail_on_low_coverage: "false" + - ruby: "jruby-9.4" + operating-system: windows-latest + fail_on_low_coverage: "false" - ruby: jruby-head operating-system: ubuntu-latest fail_on_low_coverage: "false" - ruby: jruby-head operating-system: windows-latest fail_on_low_coverage: "false" + - ruby: "truffleruby-24" + operating-system: ubuntu-latest + fail_on_low_coverage: "false" + - ruby: truffleruby-head + operating-system: ubuntu-latest + fail_on_low_coverage: "false" steps: - name: Checkout