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:
commit
56e5a980f5
|
|
@ -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
|
||||||
|
|
@ -28,7 +28,7 @@ def secondary_umbrella():
|
||||||
name = "rabbitmq-server-generic-unix-3.10",
|
name = "rabbitmq-server-generic-unix-3.10",
|
||||||
build_file = "@//:BUILD.package_generic_unix",
|
build_file = "@//:BUILD.package_generic_unix",
|
||||||
patch_cmds = [ADD_PLUGINS_DIR_BUILD_FILE],
|
patch_cmds = [ADD_PLUGINS_DIR_BUILD_FILE],
|
||||||
sha256 = "11651575d9c1b6b1803a41b5a37ad437abfb883fb7415500f98695f99943a83d",
|
sha256 = "d8cb9d3d851ced368dd070e21535bc8e90f6f2b8d206dd5b4fd7f3a8180ea03c",
|
||||||
strip_prefix = "rabbitmq_server-3.10.6",
|
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"],
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -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",
|
||||||
|
]
|
||||||
|
|
||||||
|
|
@ -6,5 +6,5 @@
|
||||||
{applications, [kernel,stdlib,rabbit]},
|
{applications, [kernel,stdlib,rabbit]},
|
||||||
{mod, {mock_rabbitmq_plugins_01_app, []}},
|
{mod, {mock_rabbitmq_plugins_01_app, []}},
|
||||||
{env, []},
|
{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"]}
|
||||||
]}.
|
]}.
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ RABBITMQ_DIALYZER_OPTS = [
|
||||||
"-Wunmatched_returns",
|
"-Wunmatched_returns",
|
||||||
]
|
]
|
||||||
|
|
||||||
APP_VERSION = "3.10.0"
|
APP_VERSION = "3.11.0"
|
||||||
|
|
||||||
BROKER_VERSION_REQUIREMENTS_ANY = """
|
BROKER_VERSION_REQUIREMENTS_ANY = """
|
||||||
{broker_version_requirements, []}
|
{broker_version_requirements, []}
|
||||||
|
|
@ -177,8 +177,8 @@ def broker_for_integration_suites(extra_plugins = []):
|
||||||
rabbitmq_home(
|
rabbitmq_home(
|
||||||
name = "broker-for-tests-home",
|
name = "broker-for-tests-home",
|
||||||
plugins = [
|
plugins = [
|
||||||
"//deps/rabbit:erlang_app",
|
"//deps/rabbit:test_erlang_app",
|
||||||
":erlang_app",
|
":test_erlang_app",
|
||||||
] + extra_plugins,
|
] + extra_plugins,
|
||||||
testonly = True,
|
testonly = True,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue