From 0d5e9b1ee172aff504aef9d343572a8539e7dc68 Mon Sep 17 00:00:00 2001 From: Maciej Wilk Date: Tue, 3 Feb 2026 16:40:57 +0100 Subject: [PATCH 1/5] Add condition to upload XML int test reports on PR/push only --- .github/workflows/e2e-suite.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/e2e-suite.yml b/.github/workflows/e2e-suite.yml index 7cae500d..3322dbce 100644 --- a/.github/workflows/e2e-suite.yml +++ b/.github/workflows/e2e-suite.yml @@ -126,7 +126,7 @@ jobs: LINODE_CLI_TOKEN: ${{ env.LINODE_CLI_TOKEN }} - name: Upload Test Report as Artifact - if: always() + if: always() && (github.event_name == 'push' || github.event_name == 'pull_request') uses: actions/upload-artifact@v6 with: name: test-report-file From ea12f7bb7142124e0e2c60d48f0c5be95716bcea Mon Sep 17 00:00:00 2001 From: Maciej Wilk Date: Wed, 4 Feb 2026 13:11:58 +0100 Subject: [PATCH 2/5] Modify condition to upload XML int test reports on push only --- .github/workflows/e2e-suite.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/e2e-suite.yml b/.github/workflows/e2e-suite.yml index 3322dbce..aba3b41e 100644 --- a/.github/workflows/e2e-suite.yml +++ b/.github/workflows/e2e-suite.yml @@ -126,7 +126,7 @@ jobs: LINODE_CLI_TOKEN: ${{ env.LINODE_CLI_TOKEN }} - name: Upload Test Report as Artifact - if: always() && (github.event_name == 'push' || github.event_name == 'pull_request') + if: always() uses: actions/upload-artifact@v6 with: name: test-report-file @@ -231,7 +231,7 @@ jobs: process-upload-report: runs-on: ubuntu-latest needs: [integration_tests] - if: always() && github.repository == 'linode/linode-cli' # Run even if integration tests fail and only on main repository + if: always() && github.repository == 'linode/linode-cli' && github.event_name == 'push' # Run even if integration tests fail and only on main repository and push event outputs: summary: ${{ steps.set-test-summary.outputs.summary }} @@ -258,7 +258,6 @@ jobs: - name: Set release version env run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV - - name: Add variables and upload test results if: always() run: | From 68fdb166ef6614c7064f0d5130440edabde9b9a7 Mon Sep 17 00:00:00 2001 From: Maciej Wilk Date: Fri, 6 Feb 2026 09:41:01 +0100 Subject: [PATCH 3/5] Add option to upload test report on demand --- .github/workflows/e2e-suite.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/e2e-suite.yml b/.github/workflows/e2e-suite.yml index aba3b41e..bf2ff015 100644 --- a/.github/workflows/e2e-suite.yml +++ b/.github/workflows/e2e-suite.yml @@ -40,6 +40,14 @@ on: options: - 'true' - 'false' + test_report_upload: + description: 'Indicates whether to upload the test report to object storage. Defaults to "false"' + required: false + default: 'false' + type: choice + options: + - 'true' + - 'false' push: branches: @@ -231,7 +239,8 @@ jobs: process-upload-report: runs-on: ubuntu-latest needs: [integration_tests] - if: always() && github.repository == 'linode/linode-cli' && github.event_name == 'push' # Run even if integration tests fail and only on main repository and push event + # Run even if integration tests fail on main repository AND (push event OR (manually triggered and test_report_upload is true)) + if: always() && github.repository == 'linode/linode-cli' && (github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && inputs.test_report_upload == 'true')) outputs: summary: ${{ steps.set-test-summary.outputs.summary }} From 73b4cb9f4487018e683aa9f4a72c0f3bc96c29c2 Mon Sep 17 00:00:00 2001 From: Maciej Wilk Date: Mon, 9 Feb 2026 15:44:39 +0100 Subject: [PATCH 4/5] Modify test_report_upload type to boolean --- .github/workflows/e2e-suite.yml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/.github/workflows/e2e-suite.yml b/.github/workflows/e2e-suite.yml index bf2ff015..257482e5 100644 --- a/.github/workflows/e2e-suite.yml +++ b/.github/workflows/e2e-suite.yml @@ -42,13 +42,9 @@ on: - 'false' test_report_upload: description: 'Indicates whether to upload the test report to object storage. Defaults to "false"' + type: boolean required: false - default: 'false' - type: choice - options: - - 'true' - - 'false' - + default: false push: branches: - main @@ -240,7 +236,7 @@ jobs: runs-on: ubuntu-latest needs: [integration_tests] # Run even if integration tests fail on main repository AND (push event OR (manually triggered and test_report_upload is true)) - if: always() && github.repository == 'linode/linode-cli' && (github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && inputs.test_report_upload == 'true')) + if: always() && github.repository == 'linode/linode-cli' && (github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && inputs.test_report_upload)) outputs: summary: ${{ steps.set-test-summary.outputs.summary }} From 9905ad2889e888bfca7e9b5da11686bdc9b688ef Mon Sep 17 00:00:00 2001 From: Maciej Wilk Date: Mon, 9 Feb 2026 16:30:58 +0100 Subject: [PATCH 5/5] Revert "Modify test_report_upload type to boolean" This reverts commit 73b4cb9f4487018e683aa9f4a72c0f3bc96c29c2. Why? Because deeper investigation proved that using boolean may lead to inconsistent behaviours. --- .github/workflows/e2e-suite.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/e2e-suite.yml b/.github/workflows/e2e-suite.yml index 257482e5..bf2ff015 100644 --- a/.github/workflows/e2e-suite.yml +++ b/.github/workflows/e2e-suite.yml @@ -42,9 +42,13 @@ on: - 'false' test_report_upload: description: 'Indicates whether to upload the test report to object storage. Defaults to "false"' - type: boolean required: false - default: false + default: 'false' + type: choice + options: + - 'true' + - 'false' + push: branches: - main @@ -236,7 +240,7 @@ jobs: runs-on: ubuntu-latest needs: [integration_tests] # Run even if integration tests fail on main repository AND (push event OR (manually triggered and test_report_upload is true)) - if: always() && github.repository == 'linode/linode-cli' && (github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && inputs.test_report_upload)) + if: always() && github.repository == 'linode/linode-cli' && (github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && inputs.test_report_upload == 'true')) outputs: summary: ${{ steps.set-test-summary.outputs.summary }}