From 99d70d3fc9ea9dd233ec198a5ee488223f5e77e0 Mon Sep 17 00:00:00 2001 From: James Maes Date: Thu, 5 Nov 2026 12:30:47 -0600 Subject: [PATCH 1/3] ci: use shared ci-workflows Maven workflow Replace the platform-ci release caller and .ci.yaml with one caller of KofTwentyTwo/ci-workflows maven.yaml (qqq-orb port): verify on every push, publish from develop and release/* with a version bump commit. Co-Authored-By: Claude Opus 5.5 --- .ci.yaml | 55 ------------------------------ .gitea/workflows/ci.yaml | 7 ++++ .gitea/workflows/qrun-release.yaml | 24 ------------- 3 files changed, 7 insertions(+), 79 deletions(-) delete mode 100644 .ci.yaml create mode 100644 .gitea/workflows/ci.yaml delete mode 100644 .gitea/workflows/qrun-release.yaml diff --git a/.ci.yaml b/.ci.yaml deleted file mode 100644 index 1776bb8..0000000 --- a/.ci.yaml +++ /dev/null @@ -1,55 +0,0 @@ -schema: 1 - -scoped_delegation: true - -verification: - push: - branches: [main, master, dev, rc, "release/**", "hotfix/**", "qualification/**"] - -components: - library: - directory: . - platforms: [linux-amd64] - toolchains: - java: "21" - build: - tool: maven - # Shared verification uses the release version property so unchanged tested outputs can be reused. - commands: - - ["--batch-mode", "--update-snapshots", "-T4", "--no-transfer-progress", "verify"] - - ["--batch-mode", "--no-transfer-progress", "org.codehaus.mojo:flatten-maven-plugin:1.7.3:flatten", "-Dflatten.mode=resolveCiFriendliesOnly", "-DupdatePomFile=true"] - reports: - junit: "**/target/surefire-reports/*.xml" - artifacts: - packages: - format: maven - # Retain the generated consumer POM alongside the tested JAR; both are required for publication. - paths: [".flattened-pom.xml", "target/*.jar"] - -release: - channels: - snapshot: - trigger: - push_branches: [develop] - versioning: maven-snapshot - effective_version: - rule: develop-next-minor - central_completion: true - version_write_back: {} - # Release candidates: a push to release/X.Y derives X.Y.0-RC.n with the existing rc-from-branch rule (the first RC of a branch that declares - # X.Y.Z-SNAPSHOT is RC.1); maven-release refuses a SNAPSHOT effective version. Published to the same destination as the snapshot, with the same - # Central completion and source write-back policy. - release-candidate: - trigger: - push_branches: ["release/*"] - versioning: maven-release - effective_version: - rule: rc-from-branch - central_completion: true - version_write_back: {} - publications: - qbit-sftp-packages: - component: library - artifact: packages - destination: qrun-maven - channels: [snapshot, release-candidate] diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml new file mode 100644 index 0000000..df1b6fd --- /dev/null +++ b/.gitea/workflows/ci.yaml @@ -0,0 +1,7 @@ +name: ci +on: + push: +jobs: + maven: + uses: self:KofTwentyTwo/ci-workflows/.gitea/workflows/maven.yaml@main + secrets: inherit diff --git a/.gitea/workflows/qrun-release.yaml b/.gitea/workflows/qrun-release.yaml deleted file mode 100644 index 39860ec..0000000 --- a/.gitea/workflows/qrun-release.yaml +++ /dev/null @@ -1,24 +0,0 @@ -# Standard QRun release caller (v2, thin contract): every push and manual dispatch delegates to the protected qrun-release-v1 channel. Do not edit per repository. -name: qrun-release -on: - push: {} - workflow_dispatch: {} -permissions: - contents: read - actions: read -jobs: - release: - # Develop and release candidates use the repository-owned shared pipeline configuration. - if: ${{ github.ref != 'refs/heads/develop' && !startsWith(github.ref, 'refs/heads/release/') }} - uses: self:KofTwentyTwo/platform-ci/.gitea/workflows/java-maven.yaml@qrun-release-v1 - with: - runner: linux-small - postpublish: - if: ${{ needs.release.outputs.capture == 'true' }} - needs: release - permissions: - contents: write - actions: write - uses: self:KofTwentyTwo/platform-ci/.gitea/workflows/qrun-source-version.yaml@qrun-release-v1 - with: - runner: linux-small -- 2.54.0 From 5fe1334cd254e133d4d60092eabbddeee4cbfc3d Mon Sep 17 00:00:00 2001 From: James Maes Date: Thu, 5 Nov 2026 12:48:56 -0600 Subject: [PATCH 2/3] ci: name caller build.yaml; drop publisher-bound RC flow Co-Authored-By: Claude Opus 5.5 --- .gitea/workflows/{ci.yaml => build.yaml} | 2 +- .gitea/workflows/release-rc.yaml | 72 ------------------------ 2 files changed, 1 insertion(+), 73 deletions(-) rename .gitea/workflows/{ci.yaml => build.yaml} (91%) delete mode 100644 .gitea/workflows/release-rc.yaml diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/build.yaml similarity index 91% rename from .gitea/workflows/ci.yaml rename to .gitea/workflows/build.yaml index df1b6fd..ed42608 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/build.yaml @@ -1,4 +1,4 @@ -name: ci +name: build on: push: jobs: diff --git a/.gitea/workflows/release-rc.yaml b/.gitea/workflows/release-rc.yaml deleted file mode 100644 index 12ec9fc..0000000 --- a/.gitea/workflows/release-rc.yaml +++ /dev/null @@ -1,72 +0,0 @@ -name: Release candidate -'on': - workflow_dispatch: - inputs: - dry_run: - description: Plan a cut without changing release state - type: boolean - default: false - finalize: - description: Retry finalization of an existing cut; do not cut another RC - type: boolean - default: false - recover: - description: Recover the same published RC after a deployment timeout; never - reupload - type: boolean - default: false - circle_build: - description: Original release run id (recovery only) - type: string - default: '' - merge_sha: - description: Existing cut merge_sha (finalize retry only) - type: string - default: '' - bump_sha: - description: Existing cut bump_sha (finalize retry only) - type: string - default: '' - branch: - description: Existing cut branch (finalize retry only) - type: string - default: '' - version: - description: Existing cut version (finalize retry only) - type: string - default: '' - pull_request: - types: - - closed - branches: - - develop -permissions: - contents: read -jobs: - release-rc: - # The old qbit-rc-published repository_dispatch is replaced by the already-proven workflow_dispatch - # completion: the publisher's own ActionsWRITE job dispatches this workflow with finalize=true plus - # merge_sha/bump_sha/branch/version (same inputs as the manual finalize retry). - permissions: - contents: write - actions: read - pull-requests: write - if: github.event_name == 'workflow_dispatch' - || (github.event_name == 'pull_request' && github.event.pull_request.merged - == true && github.event.pull_request.base.ref == 'develop' && contains(github.event.pull_request.labels.*.name, - 'release:rc')) - uses: self:KofTwentyTwo/platform-ci/.gitea/workflows/qbit-release-rc.yaml@qrun-release-v1 - with: - dry_run: ${{ github.event_name == 'workflow_dispatch' && inputs.dry_run || false - }} - finalize: ${{ github.event_name == 'workflow_dispatch' && inputs.finalize }} - recover: ${{ github.event_name == 'workflow_dispatch' && inputs.recover || false - }} - circle_build: ${{ github.event_name == 'workflow_dispatch' && inputs.circle_build - || '' }} - merge_sha: ${{ inputs.merge_sha || '' }} - bump_sha: ${{ inputs.bump_sha || '' }} - branch: ${{ inputs.branch || '' }} - version: ${{ inputs.version || '' }} - secrets: - QRUN_TAG_SIGNING_KEY: ${{ secrets.QRUN_TAG_SIGNING_KEY }} -- 2.54.0 From 0809155f2686c875d723aad5ad75a7991fc3f7cc Mon Sep 17 00:00:00 2001 From: James Maes Date: Thu, 5 Nov 2026 15:59:12 -0600 Subject: [PATCH 3/3] ci: trigger shared workflow run Co-Authored-By: Claude Opus 5.5 -- 2.54.0