summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorRin Kuryloski <kuryloskip@vmware.com>2022-10-19 14:27:03 +0200
committerRin Kuryloski <kuryloskip@vmware.com>2022-12-09 12:33:51 +0100
commit7bbf1a2cb69aee228e88b7dbd807f6cf2f791a66 (patch)
treeb0b914d6211525c1363e7fef60fd1a55f6239862 /.github
parentd339027850bb4161dcdaabbcb7b356866e956fb1 (diff)
downloadrabbitmq-server-git-7bbf1a2cb69aee228e88b7dbd807f6cf2f791a66.tar.gz
Inline secondary umbrella archive handling
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/secondary-umbrella.yaml68
-rw-r--r--.github/workflows/test-mixed-versions.yaml92
2 files changed, 93 insertions, 67 deletions
diff --git a/.github/workflows/secondary-umbrella.yaml b/.github/workflows/secondary-umbrella.yaml
index f61216d14a..786891fcda 100644
--- a/.github/workflows/secondary-umbrella.yaml
+++ b/.github/workflows/secondary-umbrella.yaml
@@ -1,4 +1,4 @@
-name: Generate Mixed Version Testing Artifacts
+name: Generate Mixed Version Testing Artifacts (v3.8.x only)
on:
workflow_dispatch:
push:
@@ -47,72 +47,6 @@ jobs:
"+{parse_transform,lager_transform}",
"+{lager_extra_sinks,[" + ",".join(_LAGER_EXTRA_SINKS) + "]}",
]
- - erlang_major: "24"
- tag: v3.9.13
- patch: |
- diff --git a/rabbitmq.bzl b/rabbitmq.bzl
- index 852a156d33..e85da53960 100644
- --- a/rabbitmq.bzl
- +++ b/rabbitmq.bzl
- @@ -9,7 +9,10 @@ load("@bazel-erlang//:ct_sharded.bzl", "ct_suite", "ct_suite_variant")
- load("//:rabbitmq_home.bzl", "rabbitmq_home")
- load("//:rabbitmq_run.bzl", "rabbitmq_run")
-
- -RABBITMQ_ERLC_OPTS = DEFAULT_ERLC_OPTS
- +RABBITMQ_ERLC_OPTS = DEFAULT_ERLC_OPTS + [
- + "-DTEST=1",
- + "+nowarn_export_all",
- +]
-
- RABBITMQ_TEST_ERLC_OPTS = DEFAULT_TEST_ERLC_OPTS + [
- "+nowarn_export_all",
- - erlang_major: "25"
- tag: v3.10.7
- patch: |
- diff --git a/MODULE.bazel b/MODULE.bazel
- index bbc541b766..9290f13053 100644
- --- a/MODULE.bazel
- +++ b/MODULE.bazel
- @@ -13,6 +13,11 @@ bazel_dep(
- version = "1.2.0",
- )
-
- +bazel_dep(
- + name = "platforms",
- + version = "0.0.5",
- +)
- +
- bazel_dep(
- name = "rules_cc",
- version = "0.0.1",
- diff --git a/rabbitmq.bzl b/rabbitmq.bzl
- index 7c13e30385..330b54494a 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",
- ]
- - erlang_major: "25"
- tag: v3.11.2
- patch: |
- diff --git a/rabbitmq.bzl b/rabbitmq.bzl
- index d9e815c72b..f5c10a2ce5 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",
- ]
-
timeout-minutes: 20
steps:
- name: Checkout Repository (Secondary Umbrella tag)
diff --git a/.github/workflows/test-mixed-versions.yaml b/.github/workflows/test-mixed-versions.yaml
index b64fe01831..5d4e68334d 100644
--- a/.github/workflows/test-mixed-versions.yaml
+++ b/.github/workflows/test-mixed-versions.yaml
@@ -28,9 +28,100 @@ concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
+ ensure-mixed-version-archive:
+ name: Prepare Artifacts
+ runs-on: ubuntu-latest
+ env:
+ # otp-min
+ otp_version_id: 25_0
+ steps:
+ - name: CHECKOUT REPOSITORY
+ uses: actions/checkout@v3
+ with:
+ path: primary-umbrella
+ #! - name: Setup tmate session
+ #! uses: mxschmitt/action-tmate@v3
+ - name: CHECK FOR ARCHIVE ON S3
+ id: check
+ working-directory: primary-umbrella
+ run: |
+ set -u
+
+ ARCHIVE_URL="$(grep -Eo 'https://rabbitmq-github-actions.s3.eu-west-1.amazonaws.com.*.tar.xz' bazel/bzlmod/secondary_umbrella.bzl)"
+ echo "ARCHIVE_URL: ${ARCHIVE_URL}"
+
+ curl -LO "${ARCHIVE_URL}"
+
+ if xzcat --test package-generic-unix-for-mixed-version-testing-v*.tar.xz; then
+ exists=true
+ else
+ exists=false
+ fi
+ echo "exists=${exists}" | tee $GITHUB_ENV
+
+ VERSION=${ARCHIVE_URL#*package-generic-unix-for-mixed-version-testing-v}
+ VERSION=${VERSION%*.tar.xz}
+ echo "version=${VERSION}" | tee $GITHUB_OUTPUT
+ - name: CHECKOUT REPOSITORY (MIXED VERSION)
+ if: env.exists != 'true'
+ uses: actions/checkout@v3
+ with:
+ ref: v${{ steps.check.outputs.version }}
+ path: secondary-umbrella
+ - name: MOUNT BAZEL CACHE
+ if: env.exists != 'true'
+ uses: actions/cache@v3.0.11
+ with:
+ path: "/home/runner/repo-cache/"
+ key: repo-cache-secondary-umbrella
+ - name: BUILD SECONDARY UMBRELLA ARCHIVE
+ if: env.exists != 'true'
+ 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
+
+ sed -i"_orig" -E "/APP_VERSION/ s/3\.[0-9]+\.[0-9]+/${{ steps.check.outputs.version }}/" rabbitmq.bzl
+ bazelisk build :package-generic-unix \
+ --config=rbe-${{ env.otp_version_id }} \
+ --test_build \
+ --verbose_failures
+
+ 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-v${{ steps.check.outputs.version }}.tar.xz
+ - name: UPLOAD THE ARCHIVE TO S3
+ if: env.exists != 'true'
+ 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
+
test-mixed-versions:
name: Test (Mixed Version Cluster)
runs-on: ubuntu-latest
+ needs: ensure-mixed-version-archive
strategy:
fail-fast: false
matrix:
@@ -73,6 +164,7 @@ jobs:
test-exclusive-mixed-versions:
name: Test (Exclusive Tests with Mixed Version Cluster)
runs-on: ubuntu-latest
+ needs: ensure-mixed-version-archive
strategy:
matrix:
include: