Benchmark Engine #1175
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
| # This file is auto-generated. Do not edit it manually! | |
| # Edit the enso_build::ci_gen module instead and run `cargo run --package enso-build-ci-gen`. | |
| name: Benchmark Engine | |
| on: | |
| schedule: | |
| - cron: 0 0 * * * | |
| workflow_dispatch: | |
| inputs: | |
| bench-name: | |
| description: Name (regex) of the benchmark to run. | |
| required: false | |
| type: string | |
| just-check: | |
| description: If set, benchmarks will be only checked to run correctly, not to measure actual performance. | |
| required: true | |
| type: boolean | |
| default: false | |
| jobs: | |
| benchmark-engine-graal-vm-ce: | |
| name: Benchmark Engine (GraalVM CE) | |
| runs-on: | |
| - benchmark | |
| steps: | |
| - if: runner.os == 'Windows' | |
| name: Setup required bazel environment | |
| run: "\n\"BAZEL_SH=C:\\Program Files\\Git\\bin\\bash.exe\" >> $env:GITHUB_ENV\n\"BAZEL_VC=C:\\BuildTools\\VC\" >> $env:GITHUB_ENV\n " | |
| shell: pwsh | |
| - name: Setup bazel environment | |
| uses: bazel-contrib/setup-bazel@0.15.0 | |
| with: | |
| bazelisk-version: 1.x | |
| bazelrc: build --remote_cache=grpcs://${{ vars.ENSO_BAZEL_CACHE_URI }} --remote_cache_header="authorization=Basic ${{ secrets.ENSO_BAZEL_CACHE_TOKEN }}" | |
| output-base: ${{ runner.os == 'Windows' && 'c:/_bazel' || '' }} | |
| - name: Expose Artifact API and context information. | |
| uses: actions/github-script@v7 | |
| with: | |
| script: "\n core.exportVariable(\"ACTIONS_RUNTIME_TOKEN\", process.env[\"ACTIONS_RUNTIME_TOKEN\"])\n core.exportVariable(\"ACTIONS_RUNTIME_URL\", process.env[\"ACTIONS_RUNTIME_URL\"])\n core.exportVariable(\"GITHUB_RETENTION_DAYS\", process.env[\"GITHUB_RETENTION_DAYS\"])\n console.log(context)\n " | |
| - name: Checking out the repository | |
| uses: actions/checkout@v4 | |
| with: | |
| clean: false | |
| - if: runner.os == 'macOS' | |
| name: Setup nodejs version | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: .node-version | |
| - if: runner.os != 'Linux' | |
| run: npm install -g corepack@0.31.0 && corepack --version | |
| - name: Build Script Setup | |
| run: ./run --help || (git clean -ffdx && ./run --help) | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - if: ${{ (always()) }} | |
| name: Clean before | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - run: ./run backend benchmark runtime | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Upload benchmark results | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: benchmark-results.xml | |
| path: engine/runtime-benchmarks/bench-report.xml | |
| - if: ${{ (always()) }} | |
| name: Clean after | |
| run: corepack pnpm run git-clean --verbose --clean-bazel | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| env: | |
| GRAAL_EDITION: GraalVM CE | |
| timeout-minutes: 240 | |
| env: | |
| ENSO_BUILD_BENCH_NAME: ${{ inputs.bench-name }} | |
| ENSO_BUILD_MINIMAL_RUN: ${{ true == inputs.just-check }} | |
| ENSO_BUILD_SKIP_VERSION_CHECK: "true" |