Skip to content

4.1.x beta release

4.1.x beta release #21

name: "4.1.x beta release"
on:
workflow_dispatch:
inputs:
base_version:
description: "Base version (e.g. 4.1.0) used at build time"
required: true
default: "4.1.0"
preview_version:
description: "Preview version (e.g. beta) used at build time"
required: true
default: "beta"
jobs:
source_tarball:
runs-on: ubuntu-latest
container:
image: rabbitmqdevenv/build-env-26.2
steps:
- name: Clone rabbitmq/rabbitmq-server
uses: actions/checkout@v4
with:
repository: rabbitmq/rabbitmq-server
ref: main
path: rabbitmq-server
- name: Clone rabbitmq/server-packages
uses: actions/checkout@v4
with:
repository: rabbitmq/server-packages
ref: main
path: server-packages
- name: Generate source tarball
run: |
cd rabbitmq-server
gmake source-dist PROJECT_VERSION=${{ github.event.inputs.base_version }}-${{ github.event.inputs.preview_version }}.1
- name: Store source tarball
uses: actions/upload-artifact@v4
with:
name: rabbitmq-server-${{ github.event.inputs.base_version }}-${{ github.event.inputs.preview_version }}.1-source-tarball
path: "rabbitmq-server/PACKAGES/*"
retention-days: 2
generic_binary_package:
needs: source_tarball
runs-on: ubuntu-latest
container:
image: rabbitmqdevenv/build-env-26.2
steps:
- name: Clone rabbitmq/rabbitmq-server
uses: actions/checkout@v4
with:
repository: rabbitmq/rabbitmq-server
ref: main
path: rabbitmq-server
- name: Fetch source tarball
uses: actions/download-artifact@v4
with:
name: rabbitmq-server-${{ github.event.inputs.base_version }}-${{ github.event.inputs.preview_version }}.1-source-tarball
path: ./rabbitmq-server/PACKAGES
- name: Build generic binary package
run: |
cd rabbitmq-server
ls -lha ./PACKAGES
gmake package-generic-unix TARBALL_SUFFIX=generic-unix \
SOURCE_DIST_FILE=./PACKAGES/rabbitmq-server-${{ github.event.inputs.base_version }}-${{ github.event.inputs.preview_version }}.1.tar.xz \
PROJECT_VERSION=${{ github.event.inputs.base_version }}-${{ github.event.inputs.preview_version }}.1
ls -lha ./PACKAGES
- name: Store generic binary build
uses: actions/upload-artifact@v4
with:
name: rabbitmq-server-${{ github.event.inputs.base_version }}-${{ github.event.inputs.preview_version }}-generic-unix
path: "rabbitmq-server/PACKAGES/rabbitmq-server-generic-unix-${{ github.event.inputs.base_version }}-${{ github.event.inputs.preview_version }}.1.tar.xz"
retention-days: 2
debian_package:
needs: source_tarball
runs-on: ubuntu-latest
container:
image: rabbitmqdevenv/build-env-26.2
steps:
- name: Clone rabbitmq/rabbitmq-server
uses: actions/checkout@v4
with:
repository: rabbitmq/rabbitmq-server
ref: main
path: rabbitmq-server
- name: Clone rabbitmq/rabbitmq-server
uses: actions/checkout@v4
with:
repository: rabbitmq/rabbitmq-packaging
ref: main
path: rabbitmq-packaging
- name: Fetch source tarball
uses: actions/download-artifact@v4
with:
name: rabbitmq-server-${{ github.event.inputs.base_version }}-${{ github.event.inputs.preview_version }}.1-source-tarball
path: ./rabbitmq-server/PACKAGES
- name: Build Debian package
run: |
cd rabbitmq-packaging
gmake package-deb PROJECT_VERSION=${{ github.event.inputs.base_version }}-${{ github.event.inputs.preview_version }}.1 \
SOURCE_DIST_FILE=../rabbitmq-server/PACKAGES/rabbitmq-server-${{ github.event.inputs.base_version }}-${{ github.event.inputs.preview_version }}.1.tar.xz \
RABBITMQ_PACKAGING_REPO=. \
DEBIAN_VERSION="${{ github.event.inputs.base_version }}-${{ github.event.inputs.preview_version }}.1" \
SAVE_CHANGELOG=yes \
INSTALL_BUILD_DEPS=no
cd ..
ls -lha PACKAGES/
- name: Store Debian package and build artifacts
uses: actions/upload-artifact@v4
with:
name: rabbitmq-server-${{ github.event.inputs.base_version }}-${{ github.event.inputs.preview_version }}-debian-package
path: "PACKAGES/*"
retention-days: 2
rpm_package:
needs: source_tarball
runs-on: ubuntu-latest
container:
image: rabbitmqdevenv/build-env-26.2
steps:
- name: Clone rabbitmq/rabbitmq-server
uses: actions/checkout@v4
with:
repository: rabbitmq/rabbitmq-server
ref: main
path: rabbitmq-server
- name: Clone rabbitmq/rabbitmq-server
uses: actions/checkout@v4
with:
repository: rabbitmq/rabbitmq-packaging
ref: main
path: rabbitmq-packaging
- name: Fetch source tarball
uses: actions/download-artifact@v4
with:
name: rabbitmq-server-${{ github.event.inputs.base_version }}-${{ github.event.inputs.preview_version }}.1-source-tarball
path: ./rabbitmq-server/PACKAGES
- name: Build RPM package
run: |
cd rabbitmq-packaging
gmake package-rpm-rhel8 RABBITMQ_VERSION=${{ github.event.inputs.base_version }}-${{ github.event.inputs.preview_version }}.1 \
PROJECT_VERSION=${{ github.event.inputs.base_version }}-${{ github.event.inputs.preview_version }}.1 \
RABBITMQ_PACKAGING_REPO=. \
RPM_VERSION="${{ github.event.inputs.base_version }}~${{ github.event.inputs.preview_version }}.1" \
SOURCE_DIST_FILE=../rabbitmq-server/PACKAGES/rabbitmq-server-${{ github.event.inputs.base_version }}-${{ github.event.inputs.preview_version }}.1.tar.xz
cd ..
ls -lha PACKAGES/
- name: Store RPM package and build artifacts
uses: actions/upload-artifact@v4
with:
name: rabbitmq-server-${{ github.event.inputs.base_version }}-${{ github.event.inputs.preview_version }}-rpm-package
path: "PACKAGES/*"
retention-days: 2
windows_packages:
needs: source_tarball
runs-on: ubuntu-latest
container:
image: rabbitmqdevenv/build-env-26.2
steps:
- name: Clone rabbitmq/rabbitmq-server
uses: actions/checkout@v4
with:
repository: rabbitmq/rabbitmq-server
ref: main
path: rabbitmq-server
- name: Clone rabbitmq/rabbitmq-server
uses: actions/checkout@v4
with:
repository: rabbitmq/rabbitmq-packaging
ref: main
path: rabbitmq-packaging
- name: Fetch source tarball
uses: actions/download-artifact@v4
with:
name: rabbitmq-server-${{ github.event.inputs.base_version }}-${{ github.event.inputs.preview_version }}.1-source-tarball
path: ./rabbitmq-server/PACKAGES
- name: Build Windows binary package and NSIS-based installer
run: |
cd rabbitmq-packaging
# IMPORTANT: PRODUCT_VERSION must use the A.B.C.D format where every component is a positive integer.
# This is an MSI and makensis build tooling requirement.
gmake package-windows RABBITMQ_PACKAGING_REPO="." \
SOURCE_DIST_FILE=../rabbitmq-server/PACKAGES/rabbitmq-server-${{ github.event.inputs.base_version }}-${{ github.event.inputs.preview_version }}.1.tar.xz \
VERSION=${{ github.event.inputs.base_version }}-${{ github.event.inputs.preview_version }}.1 \
PRODUCT_VERSION=${{ github.event.inputs.base_version }}.1
cd ..
ls -lha PACKAGES/
- name: Store Windows binary package and installer
uses: actions/upload-artifact@v4
with:
name: rabbitmq-server-${{ github.event.inputs.base_version }}-${{ github.event.inputs.preview_version }}-windows-package
path: "PACKAGES/*"
retention-days: 2