From 19b5efd542a67c9ef501e2b231cb3fcbbad26328 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Tue, 28 Oct 2025 15:55:58 +0100 Subject: [PATCH] ci: add upterm debugging as an alternative to tmate This enables interactive debugging of ci checks with the upterm tool as an alternative to the tmate tool which does not work entirely anymore. see https://github.com/rook/rook/issues/16131 addition to tmate, upterm debugging is now enabled via the debug-ci label on PRs Signed-off-by: Michael Adam --- .github/workflows/canary-integration-test.yml | 127 +++++++++++++++--- .github/workflows/daily-nightly-jobs.yml | 18 +-- .../integration-test-helm-suite.yaml | 7 +- .../integration-test-keystone-auth-suite.yaml | 7 +- .../workflows/integration-test-mgr-suite.yaml | 7 +- .../integration-test-multi-cluster-suite.yaml | 7 +- .../integration-test-object-suite.yaml | 7 +- .../integration-test-smoke-suite.yaml | 7 +- .../integration-test-upgrade-suite.yaml | 13 +- .github/workflows/multus.yaml | 7 +- .github/workflows/tmate_debug/action.yml | 15 ++- .github/workflows/upterm_debug/action.yml | 29 ++++ 12 files changed, 205 insertions(+), 46 deletions(-) create mode 100644 .github/workflows/upterm_debug/action.yml diff --git a/.github/workflows/canary-integration-test.yml b/.github/workflows/canary-integration-test.yml index 8ac276892..ae83c434b 100644 --- a/.github/workflows/canary-integration-test.yml +++ b/.github/workflows/canary-integration-test.yml @@ -29,7 +29,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -446,6 +446,10 @@ jobs: uses: ./.github/workflows/collect-logs with: name: ${{ github.job }}-${{ matrix.ceph-image }} + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} raw-disk-with-object: runs-on: ubuntu-22.04 @@ -459,7 +463,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -525,6 +529,10 @@ jobs: uses: ./.github/workflows/collect-logs with: name: ${{ github.job }}-${{ matrix.ceph-image }} + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} two-osds-in-device: runs-on: ubuntu-22.04 @@ -537,7 +545,7 @@ jobs: uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: fetch-depth: 0 - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -577,6 +585,10 @@ jobs: uses: ./.github/workflows/collect-logs with: name: ${{ github.job }}-${{ matrix.ceph-image }} + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} osd-with-metadata-partition-device: runs-on: ubuntu-22.04 @@ -590,7 +602,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -627,6 +639,10 @@ jobs: uses: ./.github/workflows/collect-logs with: name: ${{ github.job }}-${{ matrix.ceph-image }} + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} osd-with-metadata-device: runs-on: ubuntu-22.04 @@ -640,7 +656,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -686,6 +702,10 @@ jobs: uses: ./.github/workflows/collect-logs with: name: ${{ github.job }}-${{ matrix.ceph-image }} + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} encryption: runs-on: ubuntu-22.04 @@ -699,7 +719,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -739,6 +759,10 @@ jobs: uses: ./.github/workflows/collect-logs with: name: ${{ github.job }}-${{ matrix.ceph-image }} + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} lvm: runs-on: ubuntu-22.04 @@ -752,7 +776,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -797,6 +821,10 @@ jobs: uses: ./.github/workflows/collect-logs with: name: ${{ github.job }}-${{ matrix.ceph-image }} + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} pvc: runs-on: ubuntu-22.04 @@ -810,7 +838,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -904,6 +932,10 @@ jobs: uses: ./.github/workflows/collect-logs with: name: ${{ github.job }}-${{ matrix.ceph-image }} + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} pvc-db: runs-on: ubuntu-22.04 @@ -917,7 +949,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -958,6 +990,10 @@ jobs: uses: ./.github/workflows/collect-logs with: name: ${{ github.job }}-${{ matrix.ceph-image }} + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} pvc-db-wal: runs-on: ubuntu-22.04 @@ -971,7 +1007,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -1023,6 +1059,10 @@ jobs: uses: ./.github/workflows/collect-logs with: name: ${{ github.job }}-${{ matrix.ceph-image }} + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} encryption-pvc: runs-on: ubuntu-22.04 @@ -1036,7 +1076,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -1122,6 +1162,10 @@ jobs: uses: ./.github/workflows/collect-logs with: name: ${{ github.job }}-${{ matrix.ceph-image }} + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} encryption-pvc-db: runs-on: ubuntu-22.04 @@ -1135,7 +1179,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -1178,6 +1222,10 @@ jobs: uses: ./.github/workflows/collect-logs with: name: ${{ github.job }}-${{ matrix.ceph-image }} + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} encryption-pvc-db-wal: runs-on: ubuntu-22.04 @@ -1191,7 +1239,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -1244,6 +1292,10 @@ jobs: uses: ./.github/workflows/collect-logs with: name: ${{ github.job }}-${{ matrix.ceph-image }} + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} encryption-pvc-kms-vault-token-auth: runs-on: ubuntu-22.04 @@ -1257,7 +1309,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -1335,6 +1387,10 @@ jobs: uses: ./.github/workflows/collect-logs with: name: ${{ github.job }}-${{ matrix.ceph-image }} + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} encryption-pvc-kms-vault-k8s-auth: runs-on: ubuntu-22.04 @@ -1348,7 +1404,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -1406,6 +1462,10 @@ jobs: uses: ./.github/workflows/collect-logs with: name: ${{ github.job }}-${{ matrix.ceph-image }} + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} lvm-pvc: runs-on: ubuntu-22.04 @@ -1419,7 +1479,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -1465,6 +1525,10 @@ jobs: uses: ./.github/workflows/collect-logs with: name: ${{ github.job }}-${{ matrix.ceph-image }} + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} multi-cluster-mirroring: runs-on: ubuntu-22.04 @@ -1478,7 +1542,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -1725,6 +1789,10 @@ jobs: with: name: ${{ github.job }}-${{ matrix.ceph-image }} additional-namespace: rook-ceph-secondary + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} rgw-multisite-testing: runs-on: ubuntu-22.04 @@ -1738,7 +1806,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -1823,6 +1891,10 @@ jobs: with: name: ${{ github.job }}-${{ matrix.ceph-image }} additional-namespace: rook-ceph-secondary + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} encryption-pvc-kms-ibm-kp: runs-on: ubuntu-22.04 @@ -1835,7 +1907,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -1853,6 +1925,10 @@ jobs: github-token: ${{ secrets.GITHUB_TOKEN }} artifact-name: ${{ github.job }}-${{ matrix.ceph-image }} ceph-image: ${{ matrix.ceph-image }} + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} multus-public-and-cluster: runs-on: ubuntu-22.04 @@ -1866,7 +1942,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -1937,6 +2013,10 @@ jobs: with: name: ${{ github.job }}-${{ matrix.ceph-image }} additional-namespace: kube-system + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} two-object-one-zone: runs-on: ubuntu-22.04 @@ -1950,7 +2030,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -1996,3 +2076,8 @@ jobs: uses: ./.github/workflows/collect-logs with: name: ${{ github.job }}-${{ matrix.ceph-image }} + + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} diff --git a/.github/workflows/daily-nightly-jobs.yml b/.github/workflows/daily-nightly-jobs.yml index 250b9c234..e0785aaf6 100644 --- a/.github/workflows/daily-nightly-jobs.yml +++ b/.github/workflows/daily-nightly-jobs.yml @@ -23,7 +23,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider tmate debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -120,7 +120,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider tmate debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -160,7 +160,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider tmate debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -200,7 +200,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider tmate debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -240,7 +240,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider tmate debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -280,7 +280,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider tmate debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -320,7 +320,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider tmate debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -361,7 +361,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider tmate debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -401,7 +401,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider tmate debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} diff --git a/.github/workflows/integration-test-helm-suite.yaml b/.github/workflows/integration-test-helm-suite.yaml index d4d2d0f50..8e44be0c2 100644 --- a/.github/workflows/integration-test-helm-suite.yaml +++ b/.github/workflows/integration-test-helm-suite.yaml @@ -41,7 +41,7 @@ jobs: with: version: ${{ matrix.helm-version }} - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -75,3 +75,8 @@ jobs: with: name: ceph-helm-suite-artifact-${{ matrix.kubernetes-versions }} path: /home/runner/work/rook/rook/tests/integration/_output/tests/ + + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} diff --git a/.github/workflows/integration-test-keystone-auth-suite.yaml b/.github/workflows/integration-test-keystone-auth-suite.yaml index b40cdce90..e06fde925 100644 --- a/.github/workflows/integration-test-keystone-auth-suite.yaml +++ b/.github/workflows/integration-test-keystone-auth-suite.yaml @@ -40,7 +40,7 @@ jobs: with: version: v3.18.2 - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -72,3 +72,8 @@ jobs: with: name: ceph-keystone-auth-suite-artifact-${{ matrix.kubernetes-versions }} path: /home/runner/work/rook/rook/tests/integration/_output/tests/ + + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} diff --git a/.github/workflows/integration-test-mgr-suite.yaml b/.github/workflows/integration-test-mgr-suite.yaml index b6660cbe9..b1dc8cb5b 100644 --- a/.github/workflows/integration-test-mgr-suite.yaml +++ b/.github/workflows/integration-test-mgr-suite.yaml @@ -34,7 +34,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -65,3 +65,8 @@ jobs: with: name: ceph-mgr-suite-artifact-${{ matrix.kubernetes-versions }} path: /home/runner/work/rook/rook/tests/integration/_output/tests/ + + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} diff --git a/.github/workflows/integration-test-multi-cluster-suite.yaml b/.github/workflows/integration-test-multi-cluster-suite.yaml index e4ce2fdea..54528b367 100644 --- a/.github/workflows/integration-test-multi-cluster-suite.yaml +++ b/.github/workflows/integration-test-multi-cluster-suite.yaml @@ -35,7 +35,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -69,3 +69,8 @@ jobs: with: name: ceph-multi-cluster-deploy-suite-artifact-${{ matrix.kubernetes-versions }} path: /home/runner/work/rook/rook/tests/integration/_output/tests/ + + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} diff --git a/.github/workflows/integration-test-object-suite.yaml b/.github/workflows/integration-test-object-suite.yaml index d31ec7e91..b6b852e04 100644 --- a/.github/workflows/integration-test-object-suite.yaml +++ b/.github/workflows/integration-test-object-suite.yaml @@ -35,7 +35,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -66,3 +66,8 @@ jobs: with: name: ceph-object-suite-artifact-${{ matrix.kubernetes-versions }} path: /home/runner/work/rook/rook/tests/integration/_output/tests/ + + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} diff --git a/.github/workflows/integration-test-smoke-suite.yaml b/.github/workflows/integration-test-smoke-suite.yaml index 99dafaf73..843e27dc3 100644 --- a/.github/workflows/integration-test-smoke-suite.yaml +++ b/.github/workflows/integration-test-smoke-suite.yaml @@ -35,7 +35,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -66,3 +66,8 @@ jobs: with: name: ceph-smoke-suite-artifact-${{ matrix.kubernetes-versions }} path: /home/runner/work/rook/rook/tests/integration/_output/tests/ + + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} diff --git a/.github/workflows/integration-test-upgrade-suite.yaml b/.github/workflows/integration-test-upgrade-suite.yaml index d3beca14c..696c94776 100644 --- a/.github/workflows/integration-test-upgrade-suite.yaml +++ b/.github/workflows/integration-test-upgrade-suite.yaml @@ -35,7 +35,7 @@ jobs: with: fetch-depth: 0 - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -66,6 +66,10 @@ jobs: with: name: ceph-upgrade-suite-artifact-${{ matrix.kubernetes-versions }} path: /home/runner/work/rook/rook/tests/integration/_output/tests/ + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} TestHelmUpgradeSuite: if: ${{ github.event_name == 'pull_request' && github.ref != 'refs/heads/master' && !contains(github.event.pull_request.labels.*.name, 'skip-ci') }} @@ -85,7 +89,7 @@ jobs: with: version: v3.18.2 - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -118,3 +122,8 @@ jobs: with: name: ceph-upgrade-helm-suite-artifact-${{ matrix.kubernetes-versions }} path: /home/runner/work/rook/rook/tests/integration/_output/tests/ + + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} diff --git a/.github/workflows/multus.yaml b/.github/workflows/multus.yaml index e8abe8332..4d42215ab 100644 --- a/.github/workflows/multus.yaml +++ b/.github/workflows/multus.yaml @@ -51,7 +51,7 @@ jobs: config: tests/scripts/multus/kind-config.yaml cluster_name: kind - - name: consider debugging + - name: consider (pre-job) debugging uses: ./.github/workflows/tmate_debug with: use-tmate: ${{ secrets.USE_TMATE }} @@ -111,3 +111,8 @@ jobs: # independent from other tests as long as nodes are tainted and labeled if: steps.taint.outcome == 'success' && !cancelled() run: ./tests/scripts/multus/test-240-stretch-cluster-only.sh + + - name: consider (post-job) debugging + uses: ./.github/workflows/upterm_debug + with: + debug-ci: ${{ contains(github.event.pull_request.labels.*.name, 'debug-ci') }} diff --git a/.github/workflows/tmate_debug/action.yml b/.github/workflows/tmate_debug/action.yml index a2b5174e7..7486ab0ba 100644 --- a/.github/workflows/tmate_debug/action.yml +++ b/.github/workflows/tmate_debug/action.yml @@ -1,8 +1,8 @@ -name: "Tmate debugging tests" -description: "Setup tmate session if the test fails" +name: "Tmate debugging for tests" +description: "Set up an ssh session for interactive debugging of failing tests" inputs: use-tmate: - description: "boolean for enabling TMATE" + description: "boolean for enabling tmate" required: true debug-ci: description: "boolean for debug-ci label in PR" @@ -10,18 +10,19 @@ inputs: runs: using: "composite" steps: - - name: consider debugging + - name: consider tmate debugging shell: bash --noprofile --norc -eo pipefail -x {0} if: runner.debug || inputs.debug-ci == 'true' run: | # Enable tmate only in the Rook fork, where the USE_TMATE secret is set in the repo, or if the action is re-run if [ "$GITHUB_REPOSITORY_OWNER" = "rook" ] || [ -n "${{ inputs.use-tmate }}" ] || [ "$GITHUB_RUN_ATTEMPT" -gt 1 ]; then - echo USE_TMATE=1 >> $GITHUB_ENV + echo ENABLE_TMATE=1 >> $GITHUB_ENV fi - - name: set up tmate session for debugging - if: env.USE_TMATE + - name: set up tmate session + if: env.ENABLE_TMATE uses: mxschmitt/action-tmate@v3 with: + ## whether to limit ssh access and adds the ssh public key for the user who triggered the workflow: limit-access-to-actor: false detached: true diff --git a/.github/workflows/upterm_debug/action.yml b/.github/workflows/upterm_debug/action.yml new file mode 100644 index 000000000..7cc1cce78 --- /dev/null +++ b/.github/workflows/upterm_debug/action.yml @@ -0,0 +1,29 @@ +name: "Upterm debugging tests" +description: "Setup an upterm session for interactive debugging of failing tests" +inputs: + debug-ci: + description: "boolean for debug-ci label in PR" + required: false +runs: + using: "composite" + steps: + - name: consider upterm debugging + shell: bash --noprofile --norc -eo pipefail -x {0} + if: runner.debug || inputs.debug-ci == 'true' + run: | + # Enable upterm only in the main Rook repo, where the USE_TMATE secret is set in the repo, or if the action is re-run + if [ "$GITHUB_REPOSITORY_OWNER" = "rook" ] || [ "$GITHUB_RUN_ATTEMPT" -gt 1 ]; then + echo ENABLE_UPTERM=1 >> $GITHUB_ENV + fi + + - name: set up upterm session + if: ${{ env.ENABLE_UPTERM }} + uses: owenthereal/action-upterm@v1 + with: + # detached: true + ## whether to limit ssh access and adds the ssh public key for the user which triggered the workflow: + ## detached is not implemented (yet?) + ## see: https://github.com/owenthereal/action-upterm/issues/12 + limit-access-to-actor: false + ## If no one connects within five minutes, shut down the server. + wait-timeout-minutes: 5