diff --git a/.github/workflows/e2e-run.yml b/.github/workflows/e2e-run.yml index 0e1fd094a5..6a44c524a3 100644 --- a/.github/workflows/e2e-run.yml +++ b/.github/workflows/e2e-run.yml @@ -48,7 +48,7 @@ jobs: run: | results_path="$(pwd)/results/$(readlink results/latest | cut -d'/' -f5)" rm -rf "${{ inputs.storage-path }}/${{ inputs.suite-id }}";mv "${results_path}" "${{ inputs.storage-path }}/${{ inputs.suite-id }}" - if: ${{ success() }} + if: ${{ always() }} shell: bash - name: Bring down docker containers run: ./tests/docker/ducker-ak down diff --git a/.github/workflows/nightly-e2e.yml b/.github/workflows/nightly-e2e.yml deleted file mode 100644 index 8d26ce4da5..0000000000 --- a/.github/workflows/nightly-e2e.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: Nightly E2E tests -on: - workflow_dispatch: - schedule: - - cron: '0 19 * * *' - -jobs: - core_e2e: - name: "Run Main E2E Tests(core_tools_client_sanity)" - uses: ./.github/workflows/e2e-run.yml - with: - suite-id: "main" - test-yaml: "tests/main_kos_test_suite.yml" - storage-path: "/data/github-actions/reports" - extra_e2e: - name: "Run extra E2E Tests(connect_streams_benchmarks)" - uses: ./.github/workflows/e2e-run.yml - with: - suite-id: "extra" - test-yaml: "tests/extra_kos_test_suite.yml" - storage-path: "/data/github-actions/reports" - e2e_summary: - name: "E2E Tests Summary" - runs-on: [ self-hosted, e2e ] - needs: [ core_e2e, extra_e2e ] - steps: - - name: Report results - run: python3 tests/report_e2e_results.py - env: - WEB_HOOK_URL: ${{ secrets.E2E_REPORT_WEB_HOOK_URL }} - SHOW_RESULTS_URL: ${{ secrets.E2E_REPORT_SHOW_RESULTS_URL }} - STORAGE_PATH: "/data/github-actions/reports" \ No newline at end of file diff --git a/.github/workflows/nightly-extra-e2e.yml b/.github/workflows/nightly-extra-e2e.yml index fdff8b66ae..44723ec1bc 100644 --- a/.github/workflows/nightly-extra-e2e.yml +++ b/.github/workflows/nightly-extra-e2e.yml @@ -2,7 +2,7 @@ name: Nightly Extra E2E tests on: workflow_dispatch: schedule: - - cron: '0 19 * * *' + - cron: '0 16 * * *' jobs: benchmarks_e2e: @@ -18,7 +18,7 @@ jobs: uses: ./.github/workflows/e2e-run.yml with: suite-id: "connect" - test-path: "tests/kafkatest/connect" + test-path: "tests/kafkatest/tests/connect" storage-path: "/data/github-actions/reports" runner: "extra" streams_e2e_1: @@ -40,6 +40,7 @@ jobs: e2e_summary: name: "E2E Tests Summary" runs-on: [ self-hosted, extra ] + if: ${{ always() }} needs: [ benchmarks_e2e, connect_e2e, streams_e2e_1, streams_e2e_2 ] steps: - name: Report results @@ -47,4 +48,5 @@ jobs: env: WEB_HOOK_URL: ${{ secrets.E2E_REPORT_WEB_HOOK_URL }} SHOW_RESULTS_URL: ${{ secrets.E2E_REPORT_SHOW_RESULTS_URL2 }} - STORAGE_PATH: "/data/github-actions/reports" \ No newline at end of file + STORAGE_PATH: "/data/github-actions/reports" + REPORT_TITLE_PREFIX: "Extra" \ No newline at end of file diff --git a/.github/workflows/nightly-main-e2e.yml b/.github/workflows/nightly-main-e2e.yml index 8b5ea77797..65e4a617ee 100644 --- a/.github/workflows/nightly-main-e2e.yml +++ b/.github/workflows/nightly-main-e2e.yml @@ -2,7 +2,7 @@ name: Nightly Main E2E tests on: workflow_dispatch: schedule: - - cron: '0 19 * * *' + - cron: '0 16 * * *' jobs: main_e2e_1: @@ -18,12 +18,13 @@ jobs: uses: ./.github/workflows/e2e-run.yml with: suite-id: "main2" - test-yaml: "tests/suites/extra_kos_test_suite2.yml" + test-yaml: "tests/suites/main_kos_test_suite2.yml" storage-path: "/data/github-actions/reports" runner: "main" e2e_summary: name: "E2E Tests Summary" runs-on: [ self-hosted, main ] + if: ${{ always() }} needs: [ main_e2e_1, main_e2e_2 ] steps: - name: Report results @@ -31,4 +32,5 @@ jobs: env: WEB_HOOK_URL: ${{ secrets.E2E_REPORT_WEB_HOOK_URL }} SHOW_RESULTS_URL: ${{ secrets.E2E_REPORT_SHOW_RESULTS_URL }} - STORAGE_PATH: "/data/github-actions/reports" \ No newline at end of file + STORAGE_PATH: "/data/github-actions/reports" + REPORT_TITLE_PREFIX: "Main" \ No newline at end of file diff --git a/tests/docker/Dockerfile b/tests/docker/Dockerfile index e877fa9e7f..eda956e41e 100644 --- a/tests/docker/Dockerfile +++ b/tests/docker/Dockerfile @@ -42,7 +42,10 @@ RUN apt update && apt install -y sudo git netcat iptables rsync unzip wget curl # setting mirrors RUN [ -z "${general_mirror_url}" ] || (pip install -i "https://${general_mirror_url}/pypi/web/simple" pip -U && pip config set global.index-url "https://${general_mirror_url}/pypi/web/simple") -RUN pip3 install --upgrade cffi virtualenv pyasn1 boto3 pycrypto pywinrm ipaddress enum34 debugpy awscli && pip3 install --upgrade "ducktape>0.8" +RUN pip3 install --upgrade cffi virtualenv pyasn1 pycrypto pywinrm ipaddress enum34 debugpy && pip3 install --upgrade "ducktape>0.8" +# install awscliv2 +RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-$(uname -m | sed 's/arm64/aarch64/')-2.15.15.zip" -o "awscliv2.zip" && unzip awscliv2.zip && ./aws/install && rm -rf awscliv2.zip aws + # Set up ssh COPY ./ssh-config /root/.ssh/config diff --git a/tests/report_e2e_results.py b/tests/report_e2e_results.py index 76bea54c98..0fd141c8af 100644 --- a/tests/report_e2e_results.py +++ b/tests/report_e2e_results.py @@ -24,6 +24,8 @@ web_hook_url = os.getenv('WEB_HOOK_URL') show_results_url = os.getenv('SHOW_RESULTS_URL') storage_path = os.getenv('STORAGE_PATH') + title_prefix = os.getenv('REPORT_TITLE_PREFIX') + title_prefix = title_prefix if title_prefix else "" # iterate all the folders in the storage path base_path = Path(storage_path) @@ -50,7 +52,7 @@ post_data = {"msg_type": "interactive", "card": { "header": {"template": "green", - "title": {"content": "🔈 E2E test results summary", "tag": "plain_text"}}, + "title": {"content": "🔈 %s E2E test results summary" % title_prefix, "tag": "plain_text"}}, "elements": [ {"fields": [ {"is_short": True,