diff options
-rw-r--r-- | .github/workflows/test-erlang-otp-23.1.yaml | 61 | ||||
-rw-r--r-- | .github/workflows/test-erlang-otp-git.yaml | 61 | ||||
-rwxr-xr-x | ci/scripts/tests.sh | 16 | ||||
-rw-r--r-- | workflow_sources/test/tests.lib.yml | 60 |
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' |