Nightly test Workflow #147
This file contains 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 * * *" # This schedules the workflow to run at 02:00 UTC every day | |
workflow_dispatch: | |
jobs: | |
list-yamls: | |
runs-on: ubuntu-latest | |
outputs: | |
matrix: ${{ steps.set-matrix.outputs.matrix }} | |
steps: | |
- uses: actions/checkout@v4 | |
- 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 | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Setup Kurtosis | |
run: | | |
echo "deb [trusted=yes] https://apt.fury.io/kurtosis-tech/ /" | sudo tee /etc/apt/sources.list.d/kurtosis.list | |
sudo apt update | |
sudo apt install kurtosis-cli | |
kurtosis analytics disable | |
- name: Run Starlark | |
run: | | |
if [ "${{ matrix.file_name }}" != "./.github/tests/mix-with-tools-mev.yaml" ]; then | |
kurtosis run ${{ github.workspace }} --verbosity detailed --args-file ${{ matrix.file_name }} | |
else | |
echo "Skipping ./.github/tests/mix-with-tools-mev.yaml" | |
fi | |
- 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@master | |
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 }}" |