summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/test-erlang-otp-23.1.yaml61
-rw-r--r--.github/workflows/test-erlang-otp-git.yaml61
-rwxr-xr-xci/scripts/tests.sh16
-rw-r--r--workflow_sources/test/tests.lib.yml60
4 files changed, 102 insertions, 96 deletions
diff --git a/.github/workflows/test-erlang-otp-23.1.yaml b/.github/workflows/test-erlang-otp-23.1.yaml
index 12a1be0f34..84d28937f5 100644
--- a/.github/workflows/test-erlang-otp-23.1.yaml
+++ b/.github/workflows/test-erlang-otp-23.1.yaml
@@ -11105,39 +11105,38 @@ jobs:
with:
otp-version: "23.1"
elixir-version: 1.10.4
- - name: INSTALL slapd
- if: steps.cache.outputs.cache-hit != 'true'
- run: |
- sudo apt-get install -y -V --fix-missing --no-install-recommends \
- debconf-utils
-
- echo 'slapd slapd/internal/generated_adminpw password rabbitmq' | sudo debconf-set-selections && \
- echo 'slapd slapd/internal/adminpw password rabbitmq' | sudo debconf-set-selections && \
- echo 'slapd slapd/password2 password rabbitmq' | sudo debconf-set-selections && \
- echo 'slapd slapd/password1 password rabbitmq' | sudo debconf-set-selections && \
- echo 'slapd slapd/backend select HDB' | sudo debconf-set-selections
-
- sudo apt-get install -y -V --fix-missing --no-install-recommends \
- ldap-utils \
- netcat \
- python-dev \
- python-simplejson \
- python3 \
- slapd
- - name: Setup tmate session
- uses: mxschmitt/action-tmate@v3
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v1
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v1
+ - name: Login to GCR
+ uses: docker/login-action@v1
+ with:
+ registry: eu.gcr.io
+ username: _json_key
+ password: ${{ secrets.GCR_JSON_KEY }}
+ - name: PREPARE BUILD IMAGE
+ uses: docker/build-push-action@v2
+ with:
+ load: true
+ file: ci/dockerfiles/ci
+ tags: eu.gcr.io/cf-rabbitmq-core/ci:erlang-23.1-rabbitmq-${{ github.sha }}
+ build-args: |
+ ERLANG_VERSION=23.1
+ GITHUB_RUN_ID=${{ github.run_id }}
+ GITHUB_SHA=${{ github.sha }}
+ base_rmq_ref=master
+ current_rmq_ref=${{ steps.ref.outputs.branch_or_tag_name }}
+ RABBITMQ_VERSION=3.9.0
- name: RUN TESTS
- if: steps.cache.outputs.cache-hit != 'true'
run: |
- function run_tests() {
- make -C deps/rabbitmq_auth_backend_ldap tests \
- base_rmq_ref=master \
- current_rmq_ref=${{ steps.ref.outputs.branch_or_tag_name }} \
- FULL= \
- FAIL_FAST=1 \
- SKIP_AS_ERROR=1
- }
- run_tests
+ mkdir deps/rabbitmq_auth_backend_ldap/logs && chmod 777 deps/rabbitmq_auth_backend_ldap/logs
+ docker run \
+ --env project=rabbitmq_auth_backend_ldap \
+ --volume ${PWD}/deps/rabbitmq_auth_backend_ldap/logs:/workspace/ct-logs \
+ --oom-kill-disable \
+ eu.gcr.io/cf-rabbitmq-core/ci:erlang-23.1-rabbitmq-${{ github.sha }} \
+ ci/scripts/tests.sh
- name: ON FAILRUE ARCHIVE TESTS LOGS
if: failure()
run: |
diff --git a/.github/workflows/test-erlang-otp-git.yaml b/.github/workflows/test-erlang-otp-git.yaml
index 7c010351a7..0895dfc188 100644
--- a/.github/workflows/test-erlang-otp-git.yaml
+++ b/.github/workflows/test-erlang-otp-git.yaml
@@ -5248,39 +5248,38 @@ jobs:
with:
otp-version: git
elixir-version: 1.10.4
- - name: INSTALL slapd
- if: steps.cache.outputs.cache-hit != 'true'
- run: |
- sudo apt-get install -y -V --fix-missing --no-install-recommends \
- debconf-utils
-
- echo 'slapd slapd/internal/generated_adminpw password rabbitmq' | sudo debconf-set-selections && \
- echo 'slapd slapd/internal/adminpw password rabbitmq' | sudo debconf-set-selections && \
- echo 'slapd slapd/password2 password rabbitmq' | sudo debconf-set-selections && \
- echo 'slapd slapd/password1 password rabbitmq' | sudo debconf-set-selections && \
- echo 'slapd slapd/backend select HDB' | sudo debconf-set-selections
-
- sudo apt-get install -y -V --fix-missing --no-install-recommends \
- ldap-utils \
- netcat \
- python-dev \
- python-simplejson \
- python3 \
- slapd
- - name: Setup tmate session
- uses: mxschmitt/action-tmate@v3
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v1
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v1
+ - name: Login to GCR
+ uses: docker/login-action@v1
+ with:
+ registry: eu.gcr.io
+ username: _json_key
+ password: ${{ secrets.GCR_JSON_KEY }}
+ - name: PREPARE BUILD IMAGE
+ uses: docker/build-push-action@v2
+ with:
+ load: true
+ file: ci/dockerfiles/ci
+ tags: eu.gcr.io/cf-rabbitmq-core/ci:erlang-git-rabbitmq-${{ github.sha }}
+ build-args: |
+ ERLANG_VERSION=git
+ GITHUB_RUN_ID=${{ github.run_id }}
+ GITHUB_SHA=${{ github.sha }}
+ base_rmq_ref=master
+ current_rmq_ref=${{ steps.ref.outputs.branch_or_tag_name }}
+ RABBITMQ_VERSION=3.9.0
- name: RUN TESTS
- if: steps.cache.outputs.cache-hit != 'true'
run: |
- function run_tests() {
- make -C deps/rabbitmq_auth_backend_ldap tests \
- base_rmq_ref=master \
- current_rmq_ref=${{ steps.ref.outputs.branch_or_tag_name }} \
- FULL= \
- FAIL_FAST=1 \
- SKIP_AS_ERROR=1
- }
- run_tests
+ mkdir deps/rabbitmq_auth_backend_ldap/logs && chmod 777 deps/rabbitmq_auth_backend_ldap/logs
+ docker run \
+ --env project=rabbitmq_auth_backend_ldap \
+ --volume ${PWD}/deps/rabbitmq_auth_backend_ldap/logs:/workspace/ct-logs \
+ --oom-kill-disable \
+ eu.gcr.io/cf-rabbitmq-core/ci:erlang-git-rabbitmq-${{ github.sha }} \
+ ci/scripts/tests.sh
- name: ON FAILRUE ARCHIVE TESTS LOGS
if: failure()
run: |
diff --git a/ci/scripts/tests.sh b/ci/scripts/tests.sh
index abf4bc865d..68a5238a27 100755
--- a/ci/scripts/tests.sh
+++ b/ci/scripts/tests.sh
@@ -6,21 +6,15 @@ cd /workspace/rabbitmq/deps/$project
trap 'catch $?' EXIT
-SPAN_ID=${GITHUB_RUN_ID}-${project}
-
catch() {
if [ "$1" != "0" ]; then
make ct-logs-archive && mv *-ct-logs-*.tar.xz /workspace/ct-logs/
fi
-
- buildevents step ${GITHUB_RUN_ID} ${SPAN_ID} ${STEP_START} ${project}
}
-buildevents cmd ${GITHUB_RUN_ID} ${SPAN_ID} test-build -- \
- make test-build
+make test-build
-buildevents cmd ${GITHUB_RUN_ID} ${SPAN_ID} tests -- \
- make tests \
- FULL= \
- FAIL_FAST=1 \
- SKIP_AS_ERROR=1
+make tests \
+ FULL= \
+ FAIL_FAST=1 \
+ SKIP_AS_ERROR=1
diff --git a/workflow_sources/test/tests.lib.yml b/workflow_sources/test/tests.lib.yml
index 18530f6462..90fb53164c 100644
--- a/workflow_sources/test/tests.lib.yml
+++ b/workflow_sources/test/tests.lib.yml
@@ -1,4 +1,5 @@
#@ load("@ytt:data", "data")
+#@ load("@ytt:assert", "assert")
#@ load("util.star", "to_build_args")
#@ load("helpers.star", "ci_image", "ci_image_tag", "skip_ci_condition")
@@ -29,29 +30,6 @@ steps:
with:
otp-version: #@ erlang_version
elixir-version: #@ data.values.elixir_version
- #@ if getattr(dep, 'needs_slapd', False):
- - name: INSTALL slapd
- if: steps.cache.outputs.cache-hit != 'true'
- run: |
- sudo apt-get install -y -V --fix-missing --no-install-recommends \
- debconf-utils
-
- echo 'slapd slapd/internal/generated_adminpw password rabbitmq' | sudo debconf-set-selections && \
- echo 'slapd slapd/internal/adminpw password rabbitmq' | sudo debconf-set-selections && \
- echo 'slapd slapd/password2 password rabbitmq' | sudo debconf-set-selections && \
- echo 'slapd slapd/password1 password rabbitmq' | sudo debconf-set-selections && \
- echo 'slapd slapd/backend select HDB' | sudo debconf-set-selections
-
- sudo apt-get install -y -V --fix-missing --no-install-recommends \
- ldap-utils \
- netcat \
- python-dev \
- python-simplejson \
- python3 \
- slapd
- - name: Setup tmate session
- uses: mxschmitt/action-tmate@v3
- #@ end
#@ if getattr(dep, 'needs_daemonize', False):
- name: INSTALL daemonize
if: steps.cache.outputs.cache-hit != 'true'
@@ -61,6 +39,7 @@ steps:
#@ end
#@ tests_cmd = " || ".join(["run_tests"] * getattr(dep, 'attempts', 1))
#@ if getattr(dep, 'use_terraform', False):
+ #@ assert.fail('needs_slapd and use_terraform are mutually exlusive') if getattr(dep, 'needs_slapd', False) else None
- name: SETUP TERRAFORM
uses: hashicorp/setup-terraform@v1
with:
@@ -84,6 +63,41 @@ steps:
SSH_KEY=$PWD/id_rsa_terraform
}
(@= tests_cmd @)
+ #@ elif getattr(dep, 'needs_slapd', False):
+ #@ assert.fail('needs_slapd and use_terraform are mutually exlusive') if getattr(dep, 'use_terraform', False) else None
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v1
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v1
+ - name: Login to GCR
+ uses: docker/login-action@v1
+ with:
+ registry: eu.gcr.io
+ username: _json_key
+ password: ${{ secrets.GCR_JSON_KEY }}
+ - name: PREPARE BUILD IMAGE
+ uses: docker/build-push-action@v2
+ with:
+ load: true
+ file: ci/dockerfiles/ci
+ tags: #@ ci_image(erlang_version)
+ #@ rabbitmq_version = data.values.base_rmq_ref.replace('master', '3.9.x').replace('.x', '.0')
+ build-args: |
+ ERLANG_VERSION=(@= erlang_version @)
+ GITHUB_RUN_ID=${{ github.run_id }}
+ GITHUB_SHA=${{ github.sha }}
+ base_rmq_ref=(@= data.values.base_rmq_ref @)
+ current_rmq_ref=${{ steps.ref.outputs.branch_or_tag_name }}
+ RABBITMQ_VERSION=(@= rabbitmq_version @)
+ - name: RUN TESTS
+ run: |
+ mkdir deps/(@= dep.name @)/logs && chmod 777 deps/(@= dep.name @)/logs
+ docker run \
+ --env project=(@= dep.name @) \
+ --volume ${PWD}/deps/(@= dep.name @)/logs:/workspace/ct-logs \
+ --oom-kill-disable \
+ (@= ci_image(erlang_version) @) \
+ ci/scripts/tests.sh
#@ else:
- name: RUN TESTS
if: steps.cache.outputs.cache-hit != 'true'