Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 55 additions & 16 deletions .github/workflows/nightly.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,39 @@ on:
schedule:
- cron: '38 21 * * *'
workflow_dispatch:
inputs:
target-branch:
description: 'Target branch for E2E tests (must exist in rhdh-chart and rhdh-operator repos)'
required: false

permissions:
contents: read

jobs:
e2e-tests:
name: Nightly E2E Tests
name: Nightly E2E Tests (${{ matrix.branch }})
Comment thread
rm3l marked this conversation as resolved.
runs-on: ubuntu-latest
timeout-minutes: 30

strategy:
fail-fast: false
Comment thread
rm3l marked this conversation as resolved.
matrix:
branch:
- main
- release-1.10
Comment thread
rm3l marked this conversation as resolved.
Comment thread
NiallTwomey2 marked this conversation as resolved.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remediation recommended

4. Release tests cannot find the chart 🔗 Cross-repo conflict ≡ Correctness

The new release-1.10 matrix entry selects that branch of rhdh-chart, but the checked-in
run-e2e-tests.sh sets the chart path to charts/rhdh while that repository’s release-1.10
application chart is at charts/backstage. If the release-1.10 checkout uses this E2E script, `helm
dependency build` fails before either the standard or heap-dump job can run its tests.
Agent Prompt
## Issue description
The release-1.10 chart lives at `charts/backstage`, but the checked-in E2E script builds dependencies from `charts/rhdh`.
## Fix Focus Areas
- .github/workflows/nightly.yaml[19-22]
- tests/e2e/run-e2e-tests.sh[246-251]
## Recommended Fix
Confirm which E2E script the release-1.10 checkout runs, then make its chart-path selection match the selected chart branch before enabling these matrix jobs.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Dismiss ↗ | View ↗

- release-2.1
Comment thread
rm3l marked this conversation as resolved.
Comment thread
rm3l marked this conversation as resolved.
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
ref: ${{ matrix.branch }}
fetch-depth: 0


- name: Set branch test variables
run: |
branch="${{ matrix.branch }}"
echo "TARGET_BRANCH=${branch}" >> "$GITHUB_ENV"
if [ "$branch" = "main" ]; then
echo "IMAGE_TAG=latest" >> "$GITHUB_ENV"
else
echo "IMAGE_TAG=latest-${branch#release-}" >> "$GITHUB_ENV"
fi

- name: Install dependencies
run: |
sudo apt-get update
Expand All @@ -39,7 +52,11 @@ jobs:
wait: 120s

- name: Run E2E tests
run: make test-e2e LOCAL=false TARGET_BRANCH="${{ inputs.target-branch || github.ref_name }}" HELM_TIMEOUT=${{ vars.E2E_HELM_TIMEOUT || '25m' }}
run: |
make test-e2e LOCAL=false \
TARGET_BRANCH="${{ env.TARGET_BRANCH }}" \
IMAGE_TAG="${{ env.IMAGE_TAG }}" \
Comment thread
rm3l marked this conversation as resolved.
HELM_TIMEOUT=${{ vars.E2E_HELM_TIMEOUT || '25m' }}

- name: Display must-gather process logs
if: ${{ success() || failure() }}
Expand All @@ -50,35 +67,50 @@ jobs:
if: ${{ failure() }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: e2e-must-gather-output-nightly
name: e2e-must-gather-output-nightly-${{ matrix.branch }}
path: e2e-cluster.mustgather.tar.gz
retention-days: 7

- name: Upload must-gather output
if: ${{ failure() }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: must-gather-output-nightly
name: must-gather-output-nightly-${{ matrix.branch }}
path: |
rhdh-must-gather-output.k8s.*.tar.gz
rhdh-must-gather-output.k8s.*/
retention-days: 7

e2e-tests-heap-dumps:
name: Nightly E2E Tests (Heap Dumps - ${{ matrix.method }})
name: Nightly E2E Tests Heap Dumps (${{ matrix.branch }} - ${{ matrix.method }})
runs-on: ubuntu-latest
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
branch:
- main
- release-1.10
Comment thread
NiallTwomey2 marked this conversation as resolved.
- release-2.1
method: [auto, inspector, sigusr2]

steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
with:
ref: ${{ matrix.branch }}
fetch-depth: 0

- name: Set branch test variables
run: |
branch="${{ matrix.branch }}"
echo "TARGET_BRANCH=${branch}" >> "$GITHUB_ENV"
if [ "$branch" = "main" ]; then
echo "IMAGE_TAG=latest" >> "$GITHUB_ENV"
else
echo "IMAGE_TAG=latest-${branch#release-}" >> "$GITHUB_ENV"
fi

- name: Install dependencies
run: |
sudo apt-get update
Expand All @@ -96,10 +128,17 @@ jobs:
- name: Run E2E tests with heap dumps (${{ matrix.method }} method)
run: |
if [ "${{ matrix.method }}" = "auto" ]; then
# Auto: let the tool use its built-in default method (inspector)
make test-e2e LOCAL=false WITH_HEAP_DUMPS=true TARGET_BRANCH="${{ inputs.target-branch || github.ref_name }}" HELM_TIMEOUT=${{ vars.E2E_HELM_TIMEOUT || '25m' }}
# Auto: let the tool use its built in default method (inspector)
make test-e2e LOCAL=false WITH_HEAP_DUMPS=true \
TARGET_BRANCH="${{ env.TARGET_BRANCH }}" \
IMAGE_TAG="${{ env.IMAGE_TAG }}" \
HELM_TIMEOUT=${{ vars.E2E_HELM_TIMEOUT || '25m' }}
else
make test-e2e LOCAL=false WITH_HEAP_DUMPS=true HEAP_DUMP_METHOD=${{ matrix.method }} TARGET_BRANCH="${{ inputs.target-branch || github.ref_name }}" HELM_TIMEOUT=${{ vars.E2E_HELM_TIMEOUT || '25m' }}
make test-e2e LOCAL=false WITH_HEAP_DUMPS=true \
HEAP_DUMP_METHOD="${{ matrix.method }}" \
TARGET_BRANCH="${{ env.TARGET_BRANCH }}" \
IMAGE_TAG="${{ env.IMAGE_TAG }}" \
HELM_TIMEOUT=${{ vars.E2E_HELM_TIMEOUT || '25m' }}
fi

- name: Display must-gather process logs
Expand All @@ -111,15 +150,15 @@ jobs:
if: ${{ failure() }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: e2e-must-gather-output-heap-dumps-${{ matrix.method }}-nightly
name: e2e-must-gather-output-heap-dumps-${{ matrix.method }}-${{ matrix.branch }}-nightly
path: e2e-cluster.mustgather.tar.gz
retention-days: 7

- name: Upload must-gather output
if: ${{ failure() }}
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: must-gather-output-heap-dumps-${{ matrix.method }}-nightly
name: must-gather-output-heap-dumps-${{ matrix.branch }}-${{ matrix.method }}-nightly
path: |
rhdh-must-gather-output.k8s.*.tar.gz
rhdh-must-gather-output.k8s.*/
Expand Down
Loading