Nightly Sanitize #43
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 Sanitize | |
| on: | |
| schedule: | |
| - cron: "0 0 * * *" | |
| workflow_dispatch: | |
| jobs: | |
| sanitize: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install build dependencies | |
| run: | | |
| sudo apt-get update -qq | |
| sudo apt-get install -y nasm make python3 qemu-system-x86 fdisk dosfstools | |
| - name: Validate generated syscall contract | |
| run: | | |
| make check-syscalls-json | |
| make check-syscalls-md | |
| make validate-manifest | |
| - name: Run benchmark regression checks | |
| run: make bench-check | |
| - name: Build benchmark trend | |
| if: always() | |
| run: make bench-trend | |
| - name: Append benchmark summary | |
| if: always() | |
| run: | | |
| if [ -f benchmark/latest-summary.txt ]; then | |
| { | |
| echo "## Nightly Benchmark Summary" | |
| echo '```text' | |
| cat benchmark/latest-summary.txt | |
| echo '```' | |
| } >> "$GITHUB_STEP_SUMMARY" | |
| else | |
| echo "## Nightly Benchmark Summary" >> "$GITHUB_STEP_SUMMARY" | |
| echo "No benchmark summary produced." >> "$GITHUB_STEP_SUMMARY" | |
| fi | |
| if [ -f benchmark/trend-latest.txt ]; then | |
| { | |
| echo "## Nightly Benchmark Trend" | |
| echo '```text' | |
| cat benchmark/trend-latest.txt | |
| echo '```' | |
| } >> "$GITHUB_STEP_SUMMARY" | |
| fi | |
| - name: Upload benchmark artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: nightly-benchmark-${{ github.run_id }} | |
| path: | | |
| benchmark/baseline.txt | |
| benchmark/results-*.txt | |
| benchmark/results-*.json | |
| benchmark/summary-*.txt | |
| benchmark/latest-results.txt | |
| benchmark/latest-results.json | |
| benchmark/latest-summary.txt | |
| benchmark/trend-latest.txt | |
| benchmark/trend-latest.json | |
| if-no-files-found: warn | |
| retention-days: 30 | |
| - name: Run sanitize build and regression suite | |
| run: make sanitize |