Nightly test Workflow #504
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Nightly test Workflow | |
on: | |
schedule: | |
- cron: "0 2 * * *" # Runs at 02:00 UTC daily | |
workflow_dispatch: | |
jobs: | |
list-yamls: | |
runs-on: ubuntu-latest | |
outputs: | |
matrix: ${{ steps.set-matrix.outputs.matrix }} | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- id: set-matrix | |
# List all yaml files in the .github/tests directory, except for the k8s.yaml file | |
run: echo "matrix=$(ls ./.github/tests/*.yaml | grep -vE 'k8s.yaml$' | jq -R -s -c 'split("\n")[:-1]')" >> $GITHUB_OUTPUT | |
run_with_args: | |
needs: list-yamls | |
strategy: | |
matrix: | |
file_name: ${{ fromJson(needs.list-yamls.outputs.matrix) }} | |
runs-on: ubuntu-latest | |
continue-on-error: true # Prevent the whole job from failing due to one test failure | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Setup environment | |
uses: ./.github/workflows/actions/setup-environment | |
- name: Run Starlark | |
run: kurtosis run ${{ github.workspace }} --verbosity detailed --args-file ${{ matrix.file_name }} || echo "TEST_FAILED=true" >> $GITHUB_ENV | |
continue-on-error: true # Don't fail the entire job | |
- name: Check if Discord Webhook is Set | |
id: check_discord_webhook | |
env: | |
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} | |
run: | | |
if [ -z "$DISCORD_WEBHOOK" ]; then | |
echo "discord_webhook_set=false" >> $GITHUB_ENV | |
else | |
echo "discord_webhook_set=true" >> $GITHUB_ENV | |
fi | |
- name: Notify | |
if: (cancelled() || failure()) && env.discord_webhook_set == 'true' | |
uses: Ilshidur/action-discord@d2594079a10f1d6739ee50a2471f0ca57418b554 # dependabot/npm_and_yarn/axios-1.3.4-08d9328 | |
env: | |
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }} | |
with: | |
args: "The nightly test for ${{ matrix.file_name }} on optimism-package has failed. Find it here: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" | |
run_with_external_l1_args: | |
runs-on: ubuntu-latest | |
continue-on-error: true # Ensure failure here doesn't stop other jobs | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Setup environment | |
uses: ./.github/workflows/actions/setup-environment | |
- name: Deploy L1 | |
run: kurtosis run --enclave test --args-file ./.github/tests/external-l1/ethereum.yaml github.com/ethpandaops/ethereum-package | |
- name: Run Starlark | |
run: | | |
kurtosis run --enclave test --verbosity detailed --args-file ./.github/tests/external-l1/optimism.yaml ${{ github.workspace }} |