Upload full folder #129
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: CI | |
on: | |
push: | |
branches: | |
- master | |
# Run on any PR | |
pull_request: | |
jobs: | |
fmt: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@stable | |
- run: cargo fmt --all -- --check | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@stable | |
- run: cargo test | |
clippy: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@stable | |
- run: cargo clippy -- -D warnings | |
fuzz: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@stable | |
- name: Install cargo fuzz | |
uses: taiki-e/install-action@v2 | |
with: | |
tool: cargo-fuzz | |
- name: Smoke-test fuzz targets | |
run: | | |
cargo fuzz build --sanitizer none | |
for target in $(cargo fuzz list) ; do | |
cargo fuzz run --sanitizer none $target -- -max_total_time=10 | |
done | |
binary-size: | |
runs-on: ubuntu-latest | |
permissions: | |
actions: read | |
pull-requests: write | |
steps: | |
- uses: dtolnay/rust-toolchain@nightly | |
- run: rustup target add thumbv7em-none-eabihf | |
- run: rustup component add rust-src | |
- name: Check out the repo with the full git history | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: '0' | |
- name: Build new binary | |
working-directory: ./example | |
run: cargo build --release | |
- name: Save binary | |
run: mv ./example/target/thumbv7em-none-eabihf/release/example ../original.elf | |
- name: If it's a PR checkout the base commit | |
if: ${{ github.event.pull_request }} | |
run: git checkout ${{ github.event.pull_request.base.sha }} | |
- name: Rebuild with the base commit | |
if: ${{ github.event.pull_request }} | |
working-directory: ./example | |
run: cargo build --release | |
- name: Run Bloaty to compare both output files | |
if: ${{ github.event.pull_request }} | |
id: bloaty-comparison | |
uses: carlosperate/bloaty-action@v1 | |
with: | |
bloaty-args: ../original.elf -- ./example/target/thumbv7em-none-eabihf/release/example | |
output-to-summary: true | |
- name: Add a PR comment with the bloaty diff | |
if: ${{ github.event.pull_request }} | |
continue-on-error: true | |
uses: actions/github-script@v6 | |
with: | |
script: | | |
github.rest.issues.createComment({ | |
issue_number: context.issue.number, | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
body: '## PR build size diff\n```\n${{ steps.bloaty-comparison.outputs.bloaty-output-encoded }}```\n' | |
}) |