Collect live bytes per space, and report by space #1570
Workflow file for this run
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: Public API Check | |
on: | |
pull_request: | |
branches: | |
- master | |
concurrency: | |
# Cancels pending runs when a PR gets updated. | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
# The workflow may fail if we change the public API in a pull request. | |
# We allow fail on this action. But we should manually check if the changes are reasonable when we see a failed action. | |
# It would be good if the workflow returns a neutral status when we find API changes. But it is currently not | |
# possible with Github actions. | |
jobs: | |
check-public-api-changes: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout mmtk-core | |
uses: actions/checkout@v4 | |
with: | |
# Full git history needed | |
fetch-depth: 0 | |
# cargo-public-api needs a nightly toolchain installed in order to work. | |
# It does not have to be the active toolchain. | |
- name: Install nightly Rust toolchain | |
run: rustup toolchain install nightly | |
# Show the Rust toolchain we are actually using | |
- run: rustup show | |
- run: cargo --version | |
- run: cargo +nightly --version | |
- name: Install cargo-public-api | |
run: cargo +nightly install cargo-public-api | |
- name: API Diff | |
run: cargo +nightly public-api diff origin/${GITHUB_BASE_REF}..${{ github.event.pull_request.head.sha }} --deny=all | |
check-api-migration-update: | |
needs: check-public-api-changes | |
runs-on: ubuntu-latest | |
if: ${{ always() && needs.check-public-api-changes.result == 'failure'}} | |
env: | |
MIGRATION_GUIDE_PATH: 'docs/userguide/src/migration/**' | |
steps: | |
# Check if migration guide is updated. | |
- name: Get the update status for the migration guide. | |
uses: tj-actions/changed-files@v44 | |
id: migration-guide-status | |
with: | |
files: ${{ env.MIGRATION_GUIDE_PATH }} | |
# If the api check failed but the migration is not updated, we fail here | |
- name: Report if the migration guide is not updated. | |
if: ${{ steps.migration-guide-status.outputs.any_changed == 'false' }} | |
uses: actions/github-script@v7 | |
with: | |
script: | | |
core.setFailed('Public API is changed, but the migration guide (${{ env.MIGRATION_GUIDE_PATH }}) is not updated. If the bindings need to be updated for the API change, the migration guide needs to be updated as well.') |