Merge pull request #5336 from rabbitmq/pjk25/secondary-umbrella-from-source

Mixed Version Testing uses bytecode compiled for test (in bazel)
This commit is contained in:
Rin Kuryloski 2022-07-27 09:22:32 +02:00 committed by GitHub
commit 56e5a980f5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 116 additions and 6 deletions

View File

@ -0,0 +1,97 @@
name: Generate Mixed Version Testing Artifacts
on:
workflow_dispatch:
jobs:
package-generic-unix:
name: package-generic-unix
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- erlang_major: "24"
tag: v3.8.27
- erlang_major: "24"
tag: v3.9.13
- erlang_major: "24"
tag: v3.10.6
timeout-minutes: 20
steps:
- name: Checkout Repository (Latest to get updated patches)
uses: actions/checkout@v3
with:
path: latest
- name: Checkout Repository (Secondary Umbrella tag)
uses: actions/checkout@v3
with:
path: secondary-umbrella
ref: ${{ matrix.tag }}
- name: Apply Patch
working-directory: secondary-umbrella
run: |
patch -p1 < ${{ github.workspace }}/latest/bazel/secondary-umbrella.patch
git diff
- name: Mount Bazel Cache
uses: actions/cache@v3.0.5
with:
path: "/home/runner/repo-cache/"
key: repo-cache-secondary-umbrella
- name: Configure Bazel
working-directory: secondary-umbrella
run: |
if [ -n "${{ secrets.BUILDBUDDY_API_KEY }}" ]; then
cat << EOF >> user.bazelrc
build:buildbuddy --remote_header=x-buildbuddy-api-key=${{ secrets.BUILDBUDDY_API_KEY }}
EOF
fi
cat << EOF >> user.bazelrc
build:buildbuddy --build_metadata=ROLE=CI
build:buildbuddy --build_metadata=VISIBILITY=PRIVATE
build:buildbuddy --remote_instance_name=buildbuddy-io/buildbuddy/ci-secondary-umbrella
build:buildbuddy --repository_cache=/home/runner/repo-cache/
build:buildbuddy --color=yes
build:buildbuddy --disk_cache=
build:buildbuddy --remote_download_toplevel
EOF
bazelisk info release
- name: Build
working-directory: secondary-umbrella
run: |
TAG=${{ matrix.tag }}
VERSION=${TAG#v}
sed -i"_orig" -E "/APP_VERSION/ s/3\.[0-9]+\.[0-9]+/${VERSION}/" rabbitmq.bzl
bazelisk build :package-generic-unix \
--config=rbe-${{ matrix.erlang_major }} \
--verbose_failures
- name: Rename the Artifact
working-directory: secondary-umbrella
run: |
OUTPUT_DIR=${{ github.workspace }}/output
mkdir ${OUTPUT_DIR}
cp \
bazel-bin/package-generic-unix.tar.xz \
${OUTPUT_DIR}/package-generic-unix-for-mixed-version-testing-${{ matrix.tag }}.tar.xz
- name: Upload the archive to S3
uses: jakejarvis/s3-sync-action@v0.5.1
with:
args: --acl public-read --follow-symlinks
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY}}
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
AWS_REGION: ${{ secrets.AWS_REGION }}
SOURCE_DIR: output
DEST_DIR: secondary-umbrellas
- name: Confirm public access
run: |
curl -LO https://rabbitmq-github-actions.s3.eu-west-1.amazonaws.com/secondary-umbrellas/package-generic-unix-for-mixed-version-testing-${{ matrix.tag }}.tar.xz

View File

@ -28,7 +28,7 @@ def secondary_umbrella():
name = "rabbitmq-server-generic-unix-3.10",
build_file = "@//:BUILD.package_generic_unix",
patch_cmds = [ADD_PLUGINS_DIR_BUILD_FILE],
sha256 = "11651575d9c1b6b1803a41b5a37ad437abfb883fb7415500f98695f99943a83d",
sha256 = "d8cb9d3d851ced368dd070e21535bc8e90f6f2b8d206dd5b4fd7f3a8180ea03c",
strip_prefix = "rabbitmq_server-3.10.6",
urls = ["https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.10.6/rabbitmq-server-generic-unix-3.10.6.tar.xz"],
urls = ["https://rabbitmq-github-actions.s3.eu-west-1.amazonaws.com/secondary-umbrellas/package-generic-unix-for-mixed-version-testing-v3.10.6.tar.xz"],
)

View File

@ -0,0 +1,13 @@
diff --git a/rabbitmq.bzl b/rabbitmq.bzl
index 85f9a2d790..08c2bc957e 100644
--- a/rabbitmq.bzl
+++ b/rabbitmq.bzl
@@ -28,6 +28,8 @@ STARTS_BACKGROUND_BROKER_TAG = "starts-background-broker"
MIXED_VERSION_CLUSTER_TAG = "mixed-version-cluster"
RABBITMQ_ERLC_OPTS = DEFAULT_ERLC_OPTS + [
+ "-DTEST=1",
+ "+nowarn_export_all",
"-DINSTR_MOD=gm",
]

View File

@ -6,5 +6,5 @@
{applications, [kernel,stdlib,rabbit]},
{mod, {mock_rabbitmq_plugins_01_app, []}},
{env, []},
{broker_version_requirements, ["3.8.0", "3.9.0", "3.10.0"]}
{broker_version_requirements, ["3.8.0", "3.9.0", "3.10.0", "3.11.0"]}
]}.

View File

@ -41,7 +41,7 @@ RABBITMQ_DIALYZER_OPTS = [
"-Wunmatched_returns",
]
APP_VERSION = "3.10.0"
APP_VERSION = "3.11.0"
BROKER_VERSION_REQUIREMENTS_ANY = """
{broker_version_requirements, []}
@ -177,8 +177,8 @@ def broker_for_integration_suites(extra_plugins = []):
rabbitmq_home(
name = "broker-for-tests-home",
plugins = [
"//deps/rabbit:erlang_app",
":erlang_app",
"//deps/rabbit:test_erlang_app",
":test_erlang_app",
] + extra_plugins,
testonly = True,
)