Skip to content

Commit 2f81533

Browse files
committed
Add workflows for 4.3
1 parent ea6af9f commit 2f81533

File tree

4 files changed

+184
-0
lines changed

4 files changed

+184
-0
lines changed
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: "4.3.x alpha release"
2+
on:
3+
repository_dispatch:
4+
types: [new_4.3.x_alpha]
5+
workflow_dispatch:
6+
inputs:
7+
prerelease_identifier:
8+
# can be a number, a commit SHA prefix
9+
type: string
10+
description: "Preview identifier (e.g. an integer or a commit SHA) to use"
11+
required: true
12+
default: "1"
13+
14+
permissions:
15+
contents: write
16+
17+
jobs:
18+
release:
19+
uses: "./.github/workflows/reusable-release-workflow.yml"
20+
with:
21+
series_branch: "main"
22+
# see https://github.com/rabbitmq/build-env-images
23+
build_env_image: "rabbitmqdevenv/build-env-26.2"
24+
latest_build_env_image: "rabbitmqdevenv/build-env-27.3"
25+
base_version: ${{ vars.SERVER_43_NEXT_PATCH_VERSION }}
26+
prerelease: true
27+
prerelease_kind: "alpha"
28+
prerelease_identifier: ${{ inputs.prerelease_identifier || github.event.client_payload.prerelease_identifier }}
29+
release_repository: "rabbitmq/server-packages"
30+
release_title: ${{ github.event.client_payload.release_title }}
31+
release_description: ${{ github.event.client_payload.release_description }}
32+
release_tag: "(ignored for alphas)"
33+
# applies to Debian and RPM packages only
34+
gpg_sign_release: true
35+
publish_to_cloudsmith: false
36+
secrets: inherit
37+
retain_latest_n_alphas:
38+
needs: [release]
39+
runs-on: ubuntu-24.04
40+
steps:
41+
- name: Retain only N latest alpha releases
42+
uses: docker://rabbitmqdevenv/delete-release-action:latest
43+
with:
44+
repository: "rabbitmq/server-packages"
45+
token: ${{ secrets.MK_RELEASE_AUTOMATION_TOKEN }}
46+
name-filter: '.*4.3.[0-9]+-alpha.*'
47+
keep-last-n: 5
48+
trigger_jepsen_tests:
49+
needs: [release]
50+
uses: "./.github/workflows/reusable-trigger-jepsen-tests-workflow.yml"
51+
with:
52+
full_version: ${{ needs.release.outputs.full_version }}
53+
tag_name: ${{ needs.release.outputs.tag_name }}
54+
secrets: inherit
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: "4.3.x beta release"
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
prerelease_identifier:
6+
# can be a number, a commit SHA prefix
7+
type: string
8+
description: "Preview identifier (e.g. an integer or a commit SHA) to use"
9+
required: true
10+
default: "1"
11+
12+
permissions:
13+
contents: write
14+
15+
jobs:
16+
check-test-status:
17+
runs-on: ubuntu-latest
18+
steps:
19+
- name: Check Test Mixed with 3.13 workflow status
20+
run: |
21+
# Get the most recent run of the "Test Mixed with 3.13" workflow
22+
WORKFLOW_STATUS=$(gh run list --repo rabbitmq/rabbitmq-server --workflow="Test Mixed with 3.13" --limit=1 --json status --jq '.[0].status')
23+
24+
echo "Most recent 'Test Mixed with 3.13' workflow status: $WORKFLOW_STATUS"
25+
26+
if [ "$WORKFLOW_STATUS" != "completed" ]; then
27+
echo "::error::The most recent 'Test Mixed with 3.13' workflow has not completed successfully. Current status: $WORKFLOW_STATUS"
28+
exit 1
29+
fi
30+
31+
# Also check the conclusion to ensure it was successful
32+
WORKFLOW_CONCLUSION=$(gh run list --repo rabbitmq/rabbitmq-server --workflow="Test Mixed with 3.13" --limit=1 --json conclusion --jq '.[0].conclusion')
33+
echo "Most recent 'Test Mixed with 3.13' workflow conclusion: $WORKFLOW_CONCLUSION"
34+
35+
if [ "$WORKFLOW_CONCLUSION" != "success" ]; then
36+
echo "::error::The most recent 'Test Mixed with 3.13' workflow did not complete successfully. Conclusion: $WORKFLOW_CONCLUSION"
37+
exit 1
38+
fi
39+
40+
echo "The most recent 'Test Mixed with 3.13' workflow completed successfully. Proceeding with release."
41+
env:
42+
GITHUB_TOKEN: ${{ secrets.MK_RELEASE_AUTOMATION_TOKEN }}
43+
44+
release:
45+
needs: check-test-status
46+
uses: ./.github/workflows/reusable-release-workflow.yml
47+
with:
48+
series_branch: "main"
49+
# see https://github.com/rabbitmq/build-env-images
50+
build_env_image: "rabbitmqdevenv/build-env-26.2"
51+
latest_build_env_image: "rabbitmqdevenv/build-env-27.3"
52+
base_version: ${{ vars.SERVER_43_NEXT_PATCH_VERSION }}
53+
prerelease: true
54+
prerelease_kind: "beta"
55+
prerelease_identifier: ${{ inputs.prerelease_identifier }}
56+
# "rabbitmq/server-packages" is used for development; switch to "rabbitmq/rabbitmq-server" before producing a release
57+
release_repository: "rabbitmq/rabbitmq-server"
58+
release_title: "RabbitMQ ${{ vars.SERVER_43_NEXT_PATCH_VERSION }}-beta.${{ inputs.prerelease_identifier }}"
59+
release_description: "RabbitMQ ${{ vars.SERVER_43_NEXT_PATCH_VERSION }}-beta.${{ inputs.prerelease_identifier }}"
60+
release_tag: "v${{ vars.SERVER_43_NEXT_PATCH_VERSION }}-beta.${{ inputs.prerelease_identifier }}"
61+
# applies to Debian and RPM packages only
62+
gpg_sign_release: true
63+
publish_to_cloudsmith: true
64+
cloudsmith_repository: "rabbitmq-server-prereleases"
65+
secrets: inherit
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: "4.3.x GA release"
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
6+
permissions:
7+
contents: write
8+
9+
jobs:
10+
release:
11+
uses: ./.github/workflows/reusable-release-workflow.yml
12+
with:
13+
series_branch: "main"
14+
# see https://github.com/rabbitmq/build-env-images
15+
build_env_image: "rabbitmqdevenv/build-env-26.2"
16+
latest_build_env_image: "rabbitmqdevenv/build-env-27.3"
17+
base_version: ${{ vars.SERVER_43_NEXT_PATCH_VERSION }}
18+
prerelease: false
19+
# Note: this may be intentionally overriden for periods of time for testing
20+
release_repository: "rabbitmq/server-packages"
21+
release_title: "RabbitMQ ${{ vars.SERVER_43_NEXT_PATCH_VERSION }}"
22+
release_description: "RabbitMQ ${{ vars.SERVER_43_NEXT_PATCH_VERSION }}"
23+
release_tag: "v${{ vars.SERVER_43_NEXT_PATCH_VERSION }}"
24+
# applies to Debian and RPM packages only
25+
gpg_sign_release: true
26+
publish_to_cloudsmith: true
27+
# Note: this may be intentionally overriden for periods of time for testing
28+
cloudsmith_repository: "rabbitmq-server-prereleases"
29+
secrets: inherit
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: "4.3.x RC release"
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
prerelease_identifier:
6+
# can be a number, a commit SHA prefix
7+
type: string
8+
description: "Preview identifier (e.g. an integer or a commit SHA) to use"
9+
required: true
10+
default: "1"
11+
12+
permissions:
13+
contents: write
14+
15+
jobs:
16+
release:
17+
uses: ./.github/workflows/reusable-release-workflow.yml
18+
with:
19+
series_branch: "main"
20+
# see https://github.com/rabbitmq/build-env-images
21+
build_env_image: "rabbitmqdevenv/build-env-26.2"
22+
latest_build_env_image: "rabbitmqdevenv/build-env-27.3"
23+
base_version: ${{ vars.SERVER_43_NEXT_PATCH_VERSION }}
24+
prerelease: true
25+
prerelease_kind: "rc"
26+
prerelease_identifier: ${{ inputs.prerelease_identifier }}
27+
# used for development; reset to "rabbitmq/rabbitmq-server" before producing a release
28+
release_repository: "rabbitmq/server-packages"
29+
release_title: "RabbitMQ ${{ vars.SERVER_43_NEXT_PATCH_VERSION }}-rc.${{ inputs.prerelease_identifier }}"
30+
release_description: "RabbitMQ ${{ vars.SERVER_43_NEXT_PATCH_VERSION }}-rc.${{ inputs.prerelease_identifier }}"
31+
release_tag: "v${{ vars.SERVER_43_NEXT_PATCH_VERSION }}-rc.${{ inputs.prerelease_identifier }}"
32+
# applies to Debian and RPM packages only
33+
gpg_sign_release: true
34+
publish_to_cloudsmith: true
35+
cloudsmith_repository: "rabbitmq-server-prereleases"
36+
secrets: inherit

0 commit comments

Comments
 (0)