chore: bump versions for release -- iii(iii/v0.11.0-next.3) #10
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: Benchmark Release | |
| on: | |
| push: | |
| tags: | |
| - 'iii/v*' | |
| workflow_dispatch: | |
| permissions: | |
| contents: write | |
| concurrency: | |
| group: bench-release-${{ github.repository }} | |
| env: | |
| CARGO_TERM_COLOR: always | |
| III_TELEMETRY_ENABLED: "false" | |
| jobs: | |
| benchmark: | |
| name: Run Benchmarks | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| cache-on-failure: true | |
| - name: Run benchmarks | |
| run: cargo bench -p iii --bench '*' -- --output-format bencher 2>&1 | tee bench-output.txt | |
| - name: Extract version from tag | |
| id: meta | |
| run: | | |
| if [[ "$GITHUB_REF_NAME" == iii/v* ]]; then | |
| VERSION="${GITHUB_REF_NAME#iii/v}" | |
| else | |
| VERSION="manual-$(date +%Y%m%d-%H%M%S)" | |
| fi | |
| echo "version=$VERSION" >> "$GITHUB_OUTPUT" | |
| - name: Store benchmark result | |
| uses: benchmark-action/github-action-benchmark@v1 | |
| with: | |
| name: iii Engine Benchmarks | |
| tool: 'cargo' | |
| output-file-path: bench-output.txt | |
| gh-pages-branch: gh-pages | |
| benchmark-data-dir-path: dev/bench | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| auto-push: true | |
| alert-threshold: '120%' | |
| comment-on-alert: true | |
| summary-always: true | |
| alert-comment-cc-users: '@iii-hq/engine' | |
| - name: Upload raw criterion data | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: criterion-data-${{ steps.meta.outputs.version }} | |
| path: target/criterion/ | |
| retention-days: 90 | |
| - name: Generate benchmark summary | |
| if: always() | |
| id: summary | |
| run: | | |
| VERSION="${{ steps.meta.outputs.version }}" | |
| BENCH_COUNT=$(grep -c "^test " bench-output.txt 2>/dev/null || echo "0") | |
| if [[ "${{ job.status }}" == "success" ]]; then | |
| STATUS_ICON=":large_green_circle:" | |
| else | |
| STATUS_ICON=":red_circle:" | |
| fi | |
| PAGES_URL="https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }}/dev/bench/" | |
| WORKFLOW_URL="${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" | |
| { | |
| echo "body<<EOFSLACK" | |
| printf '%s %s\n%s\n%s' \ | |
| "${STATUS_ICON}" "*Benchmark Results* — iii v${VERSION}" \ | |
| "${BENCH_COUNT} benchmarks collected" \ | |
| "<${PAGES_URL}|View historical charts> | <${WORKFLOW_URL}|View workflow>" | |
| echo "" | |
| echo "EOFSLACK" | |
| } >> "$GITHUB_OUTPUT" | |
| - name: Post to Slack | |
| if: always() | |
| continue-on-error: true | |
| uses: slackapi/slack-github-action@v2.0.0 | |
| with: | |
| method: chat.postMessage | |
| token: ${{ secrets.SLACK_BOT_TOKEN }} | |
| payload: | | |
| channel: ${{ secrets.SLACK_CHANNEL_ID }} | |
| text: "Benchmark results for iii v${{ steps.meta.outputs.version }}" | |
| blocks: | |
| - type: "section" | |
| text: | |
| type: "mrkdwn" | |
| text: "${{ steps.summary.outputs.body }}" |