From 90b0a8d518cb9c3a6f7b70dc1842c5ef395a3473 Mon Sep 17 00:00:00 2001 From: Jonathan PHILIPPE Date: Wed, 8 Jul 2026 09:41:06 +0200 Subject: [PATCH 1/4] ci: migrate to ci-workflows@v6 config file Per-project options move from with: blocks to .fluence-ci.yml per ci-workflows v6. Wrappers become byte-identical to the gems family canonical set (fluence-eu/fluence-gateway-client#62): pinned @v6, no with:, comments deduplicated from the ci-workflows README, release trigger on the generic lib/**/version.rb glob, publish without gem_name (v6 publishes every .gem release asset). --- .fluence-ci.yml | 7 +++++++ .github/workflows/codequality-measure.yml | 4 +--- .github/workflows/codequality-pr.yml | 5 +---- .github/workflows/coverage-measure.yml | 2 +- .github/workflows/coverage-pr.yml | 2 +- .github/workflows/docs-deploy.yml | 2 +- .github/workflows/docs-measure.yml | 2 +- .github/workflows/docs-pr.yml | 2 +- .github/workflows/prepare-release.yml | 3 +-- .github/workflows/publish.yml | 10 ++++++++-- .github/workflows/release.yml | 11 ++--------- .github/workflows/rubocop-measure.yml | 2 +- .github/workflows/rubocop-pr.yml | 2 +- 13 files changed, 27 insertions(+), 27 deletions(-) create mode 100644 .fluence-ci.yml diff --git a/.fluence-ci.yml b/.fluence-ci.yml new file mode 100644 index 0000000..797e204 --- /dev/null +++ b/.fluence-ci.yml @@ -0,0 +1,7 @@ +# Per-project options for the fluence-eu/ci-workflows@v6 reusables. +# Full key schema: https://github.com/fluence-eu/ci-workflows#per-project-configuration-fluence-ciyml +codequality: + paths: lib + +release: + gem_specs: filterable diff --git a/.github/workflows/codequality-measure.yml b/.github/workflows/codequality-measure.yml index 027c6ee..818ad94 100644 --- a/.github/workflows/codequality-measure.yml +++ b/.github/workflows/codequality-measure.yml @@ -6,9 +6,7 @@ on: jobs: measure: - uses: fluence-eu/ci-workflows/.github/workflows/ruby-gem-codequality-measure.yml@v5 - with: - paths: 'lib' + uses: fluence-eu/ci-workflows/.github/workflows/ruby-gem-codequality-measure.yml@v6 permissions: contents: read packages: read diff --git a/.github/workflows/codequality-pr.yml b/.github/workflows/codequality-pr.yml index 5f30292..cd42736 100644 --- a/.github/workflows/codequality-pr.yml +++ b/.github/workflows/codequality-pr.yml @@ -5,12 +5,9 @@ on: jobs: codequality: - uses: fluence-eu/ci-workflows/.github/workflows/ruby-gem-codequality-pr.yml@v5 - with: - paths: 'lib' + uses: fluence-eu/ci-workflows/.github/workflows/ruby-gem-codequality-pr.yml@v6 secrets: FLUENCE_CI_BOT_PRIVATE_KEY: ${{ secrets.FLUENCE_CI_BOT_PRIVATE_KEY }} - FLUENCE_RELEASE_BOT_PRIVATE_KEY: ${{ secrets.FLUENCE_RELEASE_BOT_PRIVATE_KEY }} permissions: contents: read pull-requests: write diff --git a/.github/workflows/coverage-measure.yml b/.github/workflows/coverage-measure.yml index 90fee20..d327214 100644 --- a/.github/workflows/coverage-measure.yml +++ b/.github/workflows/coverage-measure.yml @@ -6,7 +6,7 @@ on: jobs: measure: - uses: fluence-eu/ci-workflows/.github/workflows/ruby-gem-coverage-measure.yml@v5 + uses: fluence-eu/ci-workflows/.github/workflows/ruby-gem-coverage-measure.yml@v6 permissions: contents: read packages: read diff --git a/.github/workflows/coverage-pr.yml b/.github/workflows/coverage-pr.yml index ff1ac2b..4181389 100644 --- a/.github/workflows/coverage-pr.yml +++ b/.github/workflows/coverage-pr.yml @@ -5,7 +5,7 @@ on: jobs: coverage: - uses: fluence-eu/ci-workflows/.github/workflows/ruby-gem-coverage-pr.yml@v5 + uses: fluence-eu/ci-workflows/.github/workflows/ruby-gem-coverage-pr.yml@v6 secrets: FLUENCE_CI_BOT_PRIVATE_KEY: ${{ secrets.FLUENCE_CI_BOT_PRIVATE_KEY }} FLUENCE_RELEASE_BOT_PRIVATE_KEY: ${{ secrets.FLUENCE_RELEASE_BOT_PRIVATE_KEY }} diff --git a/.github/workflows/docs-deploy.yml b/.github/workflows/docs-deploy.yml index 9cf6933..3894bbe 100644 --- a/.github/workflows/docs-deploy.yml +++ b/.github/workflows/docs-deploy.yml @@ -7,7 +7,7 @@ on: jobs: docs: - uses: fluence-eu/ci-workflows/.github/workflows/ruby-gem-docs-deploy.yml@v5 + uses: fluence-eu/ci-workflows/.github/workflows/ruby-gem-docs-deploy.yml@v6 permissions: contents: read pages: write diff --git a/.github/workflows/docs-measure.yml b/.github/workflows/docs-measure.yml index c498e47..ce919d3 100644 --- a/.github/workflows/docs-measure.yml +++ b/.github/workflows/docs-measure.yml @@ -6,7 +6,7 @@ on: jobs: measure: - uses: fluence-eu/ci-workflows/.github/workflows/ruby-gem-docs-measure.yml@v5 + uses: fluence-eu/ci-workflows/.github/workflows/ruby-gem-docs-measure.yml@v6 permissions: contents: read packages: read diff --git a/.github/workflows/docs-pr.yml b/.github/workflows/docs-pr.yml index 7d5eb7e..a5be44c 100644 --- a/.github/workflows/docs-pr.yml +++ b/.github/workflows/docs-pr.yml @@ -5,7 +5,7 @@ on: jobs: docs: - uses: fluence-eu/ci-workflows/.github/workflows/ruby-gem-docs-pr.yml@v5 + uses: fluence-eu/ci-workflows/.github/workflows/ruby-gem-docs-pr.yml@v6 secrets: FLUENCE_CI_BOT_PRIVATE_KEY: ${{ secrets.FLUENCE_CI_BOT_PRIVATE_KEY }} FLUENCE_RELEASE_BOT_PRIVATE_KEY: ${{ secrets.FLUENCE_RELEASE_BOT_PRIVATE_KEY }} diff --git a/.github/workflows/prepare-release.yml b/.github/workflows/prepare-release.yml index 580a71a..da45741 100644 --- a/.github/workflows/prepare-release.yml +++ b/.github/workflows/prepare-release.yml @@ -14,9 +14,8 @@ on: jobs: prepare: - uses: fluence-eu/ci-workflows/.github/workflows/ruby-gem-prepare-release.yml@v5 + uses: fluence-eu/ci-workflows/.github/workflows/ruby-gem-prepare-release.yml@v6 with: - gem_specs: filterable bump: ${{ inputs.bump }} secrets: FLUENCE_RELEASE_BOT_PRIVATE_KEY: ${{ secrets.FLUENCE_RELEASE_BOT_PRIVATE_KEY }} diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index ed6dbdd..40047f0 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -3,12 +3,18 @@ name: Publish Gem on: release: types: [published] + workflow_dispatch: + inputs: + tag: + description: Tag to publish (e.g. v0.10.0). Must already have a corresponding GitHub Release with the gem asset(s) attached. + required: true + type: string jobs: publish: - uses: fluence-eu/ci-workflows/.github/workflows/ruby-gem-publish.yml@v5 + uses: fluence-eu/ci-workflows/.github/workflows/ruby-gem-publish.yml@v6 with: - gem_name: filterable + tag: ${{ inputs.tag }} permissions: contents: read packages: write diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 08a60f5..5e051ce 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,22 +1,15 @@ name: Release on: - # Only fires on pushes that touch the version file — i.e. when the release PR - # merges. Feature merges don't match, so no ghost runs. push: branches: [main] paths: - - lib/filterable/version.rb + - lib/**/version.rb jobs: release: - uses: fluence-eu/ci-workflows/.github/workflows/ruby-gem-release.yml@v5 - with: - gem_specs: filterable + uses: fluence-eu/ci-workflows/.github/workflows/ruby-gem-release.yml@v6 secrets: - # Forwarded so `gh release create` runs with the App's installation token. - # App-issued release events trigger downstream publish.yml — GITHUB_TOKEN - # does not (GitHub anti-loop rule). FLUENCE_RELEASE_BOT_PRIVATE_KEY: ${{ secrets.FLUENCE_RELEASE_BOT_PRIVATE_KEY }} permissions: contents: write diff --git a/.github/workflows/rubocop-measure.yml b/.github/workflows/rubocop-measure.yml index a8807b7..350a29f 100644 --- a/.github/workflows/rubocop-measure.yml +++ b/.github/workflows/rubocop-measure.yml @@ -6,7 +6,7 @@ on: jobs: measure: - uses: fluence-eu/ci-workflows/.github/workflows/ruby-gem-rubocop-measure.yml@v5 + uses: fluence-eu/ci-workflows/.github/workflows/ruby-gem-rubocop-measure.yml@v6 permissions: contents: read packages: read diff --git a/.github/workflows/rubocop-pr.yml b/.github/workflows/rubocop-pr.yml index d1c3078..1d57415 100644 --- a/.github/workflows/rubocop-pr.yml +++ b/.github/workflows/rubocop-pr.yml @@ -5,7 +5,7 @@ on: jobs: rubocop: - uses: fluence-eu/ci-workflows/.github/workflows/ruby-gem-rubocop-pr.yml@v5 + uses: fluence-eu/ci-workflows/.github/workflows/ruby-gem-rubocop-pr.yml@v6 secrets: FLUENCE_CI_BOT_PRIVATE_KEY: ${{ secrets.FLUENCE_CI_BOT_PRIVATE_KEY }} FLUENCE_RELEASE_BOT_PRIVATE_KEY: ${{ secrets.FLUENCE_RELEASE_BOT_PRIVATE_KEY }} From 36302d4b9f25ce780fe3da82f7a78812b8458367 Mon Sep 17 00:00:00 2001 From: Jonathan PHILIPPE Date: Wed, 8 Jul 2026 09:59:41 +0200 Subject: [PATCH 2/4] ci: forward the release bot key on codequality-pr Canonical fix (fluence-gateway-client follow-up): all four PR gates forward FLUENCE_RELEASE_BOT_PRIVATE_KEY so release PRs skip them. --- .github/workflows/codequality-pr.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/codequality-pr.yml b/.github/workflows/codequality-pr.yml index cd42736..d8ac648 100644 --- a/.github/workflows/codequality-pr.yml +++ b/.github/workflows/codequality-pr.yml @@ -8,6 +8,7 @@ jobs: uses: fluence-eu/ci-workflows/.github/workflows/ruby-gem-codequality-pr.yml@v6 secrets: FLUENCE_CI_BOT_PRIVATE_KEY: ${{ secrets.FLUENCE_CI_BOT_PRIVATE_KEY }} + FLUENCE_RELEASE_BOT_PRIVATE_KEY: ${{ secrets.FLUENCE_RELEASE_BOT_PRIVATE_KEY }} permissions: contents: read pull-requests: write From ae49499c3a877307b96044ec49a834a413e9e028 Mon Sep 17 00:00:00 2001 From: Jonathan PHILIPPE Date: Wed, 8 Jul 2026 10:05:52 +0200 Subject: [PATCH 3/4] ci: keep codequality-pr without the release bot key MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The key is optional and would only skip an advisory check on release PRs — not worth widening the secret surface. Canonical stays without. --- .github/workflows/codequality-pr.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/codequality-pr.yml b/.github/workflows/codequality-pr.yml index d8ac648..cd42736 100644 --- a/.github/workflows/codequality-pr.yml +++ b/.github/workflows/codequality-pr.yml @@ -8,7 +8,6 @@ jobs: uses: fluence-eu/ci-workflows/.github/workflows/ruby-gem-codequality-pr.yml@v6 secrets: FLUENCE_CI_BOT_PRIVATE_KEY: ${{ secrets.FLUENCE_CI_BOT_PRIVATE_KEY }} - FLUENCE_RELEASE_BOT_PRIVATE_KEY: ${{ secrets.FLUENCE_RELEASE_BOT_PRIVATE_KEY }} permissions: contents: read pull-requests: write From ed191bde832aaec3e59ae7be99ddac36aac386c4 Mon Sep 17 00:00:00 2001 From: Jonathan PHILIPPE Date: Wed, 8 Jul 2026 10:12:55 +0200 Subject: [PATCH 4/4] ci: forward the release bot key on codequality-pr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Arbitrage final : les 4 gates PR forwardent la même clé optionnelle (skip des PRs de release), codequality-pr compris — cf. fluence-eu/fluence-gateway-client#64. --- .github/workflows/codequality-pr.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/codequality-pr.yml b/.github/workflows/codequality-pr.yml index cd42736..d8ac648 100644 --- a/.github/workflows/codequality-pr.yml +++ b/.github/workflows/codequality-pr.yml @@ -8,6 +8,7 @@ jobs: uses: fluence-eu/ci-workflows/.github/workflows/ruby-gem-codequality-pr.yml@v6 secrets: FLUENCE_CI_BOT_PRIVATE_KEY: ${{ secrets.FLUENCE_CI_BOT_PRIVATE_KEY }} + FLUENCE_RELEASE_BOT_PRIVATE_KEY: ${{ secrets.FLUENCE_RELEASE_BOT_PRIVATE_KEY }} permissions: contents: read pull-requests: write