diff --git a/.ci.yaml b/.ci.yaml index 8939c9c..1776bb8 100644 --- a/.ci.yaml +++ b/.ci.yaml @@ -36,9 +36,20 @@ release: 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] + channels: [snapshot, release-candidate] diff --git a/.gitea/workflows/qrun-release.yaml b/.gitea/workflows/qrun-release.yaml index 72d0caf..39860ec 100644 --- a/.gitea/workflows/qrun-release.yaml +++ b/.gitea/workflows/qrun-release.yaml @@ -8,8 +8,8 @@ permissions: actions: read jobs: release: - # Develop uses the repository-owned shared pipeline configuration. - if: ${{ github.ref != 'refs/heads/develop' }} + # 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