scratch: trigger timing workflow on push instead of workflow_dispatch #1
Workflow file for this run
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: Scratch mmap vs zstd-jni timing | |
| # Throwaway, manual: compares MemorySegment mmap zero-copy compression against | |
| # zstd-jni's classic stream API on the same synthetic file across OS/arch, to | |
| # check whether a page-fault-driven mmap penalty observed on macOS also shows | |
| # up on Linux and Windows. Lives only on the scratch/cross-os-mmap-timing | |
| # branch; not part of ci.yml. | |
| on: | |
| push: | |
| branches: [scratch/cross-os-mmap-timing] | |
| jobs: | |
| time: | |
| name: ${{ matrix.classifier }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - { os: ubuntu-latest, classifier: linux-x86_64 } | |
| - { os: windows-latest, classifier: windows-x86_64 } | |
| - { os: macos-14, classifier: osx-aarch64 } | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: Checkout (with zstd submodule) | |
| uses: actions/checkout@v7 | |
| with: | |
| submodules: recursive | |
| - name: Set up JDK 25 | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: temurin | |
| java-version: '25' | |
| cache: maven | |
| - name: Set up Zig | |
| uses: mlugg/setup-zig@d1434d08867e3ee9daa34448df10607b98908d29 # v2 | |
| with: | |
| version: 0.16.0 | |
| - name: Build (skip tests) | |
| shell: bash | |
| run: ./mvnw -B -ntp -q -pl integration-tests -am test-compile -DskipTests | |
| - name: Run timing harness | |
| shell: bash | |
| run: | | |
| { | |
| echo "### ${{ matrix.classifier }}" | |
| echo '```' | |
| ./mvnw -B -ntp -q -pl integration-tests exec:java \ | |
| -Dexec.mainClass=io.github.dfa1.zstd.it.scratch.TimingMain \ | |
| -Dexec.classpathScope=test | |
| echo '```' | |
| } | tee -a "$GITHUB_STEP_SUMMARY" |