From 89a251fba6fe73ee83b96447cb08bca9769b2975 Mon Sep 17 00:00:00 2001 From: James Maes Date: Tue, 13 Oct 2026 14:31:17 -0500 Subject: [PATCH 1/2] ci: automate RC releases; hotfix/* pushes no longer publish Removes publish_hotfix_release: a hotfix/* branch push published a GA release to Maven Central with no tag or review (QRun-IO/qbit-cdn#12, QRun-IO/qqq#1121). hotfix/* branches now run test_only; a hotfix release publishes from a reviewed vX.Y.Z tag through publish_release. Adds .github/workflows/release-rc.yml (reusable QRun-IO/.github qbit-release-rc): a manual dispatch, or merging a develop PR labelled release:rc, merges develop into the release line and the release/* push runs the existing CircleCI RC publish. Co-Authored-By: Claude Opus 5.5 --- .circleci/config.yml | 11 +---------- .github/workflows/release-rc.yml | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 10 deletions(-) create mode 100644 .github/workflows/release-rc.yml diff --git a/.circleci/config.yml b/.circleci/config.yml index 4d06140..17510e5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -10,7 +10,7 @@ workflows: context: [qqq-maven-registry-credentials] filters: branches: - ignore: /(develop|main|release\/.*|hotfix\/.*|integration.*)/ + ignore: /(develop|main|release\/.*|integration.*)/ tags: only: [] @@ -42,12 +42,3 @@ workflows: only: [main] tags: only: [/^v\d+\.\d+\.\d+$/] - - publish_hotfix_release: - jobs: - - qqq-orb/mvn_publish: - context: [qqq-maven-registry-credentials] - branch_type: hotfix - filters: - branches: - only: [/hotfix\/.*/] diff --git a/.github/workflows/release-rc.yml b/.github/workflows/release-rc.yml new file mode 100644 index 0000000..dd332a0 --- /dev/null +++ b/.github/workflows/release-rc.yml @@ -0,0 +1,25 @@ +# Cut the next release candidate (QRun-IO/qqq docs/QRUN-QBIT-REPO-STANDARD.md, C6): +# run this workflow by hand, or merge a develop PR labelled `release:rc`. It merges develop into +# the release line and the release/* push runs CircleCI publish_release_candidate. +name: Release candidate + +on: + workflow_dispatch: + inputs: + dry_run: + description: Print the plan without merging or creating branches + type: boolean + default: false + pull_request: + types: [closed] + branches: [develop] + +permissions: + contents: write + +jobs: + release-rc: + if: github.event_name == 'workflow_dispatch' || (github.event.pull_request.merged == true && contains(github.event.pull_request.labels.*.name, 'release:rc')) + uses: QRun-IO/.github/.github/workflows/qbit-release-rc.yml@main + with: + dry_run: ${{ github.event_name == 'workflow_dispatch' && inputs.dry_run }} -- 2.54.0 From 3673bbbaf2585153c6c3a1bc445357c7800e801e Mon Sep 17 00:00:00 2001 From: James Maes Date: Tue, 13 Oct 2026 14:59:43 -0500 Subject: [PATCH 2/2] ci: keep apt unattended (configure-package-install pre-step) Every job hung in "Install Java 21" on the needrestart dialog until the 10m no-output timeout. Adds the standard's configure-package-install command (QRUN-QBIT-REPO-STANDARD C1) as a pre-step to each orb job. Co-Authored-By: Claude Opus 5.5 --- .circleci/config.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 17510e5..653eb4b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,10 +3,24 @@ version: 2.1 orbs: qqq-orb: kingsrook/qqq-orb@0.6.0 +commands: + configure-package-install: + steps: + - run: + name: Keep package installation unattended + command: | + # These build machines are discarded after the job; without this, + # needrestart blocks apt in "Install Java" until the 10m no-output timeout. + sudo install -d /etc/needrestart/conf.d + printf '%s\n' '$nrconf{restart} = "l";' | sudo tee /etc/needrestart/conf.d/99-qqq-ci.conf >/dev/null + + workflows: test_only: jobs: - qqq-orb/mvn_test_only: + pre-steps: + - configure-package-install context: [qqq-maven-registry-credentials] filters: branches: @@ -17,6 +31,8 @@ workflows: publish_snapshot: jobs: - qqq-orb/mvn_publish: + pre-steps: + - configure-package-install context: [qqq-maven-registry-credentials] branch_type: snapshot filters: @@ -26,6 +42,8 @@ workflows: publish_release_candidate: jobs: - qqq-orb/mvn_publish: + pre-steps: + - configure-package-install context: [qqq-maven-registry-credentials] branch_type: release_candidate filters: @@ -35,6 +53,8 @@ workflows: publish_release: jobs: - qqq-orb/mvn_publish: + pre-steps: + - configure-package-install context: [qqq-maven-registry-credentials] branch_type: release filters: -- 2.54.0