Build(deps): Bump cbrgm/mastodon-github-action from 2.1.20 to 2.1.24 #1180
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: Tests | |
| on: | |
| workflow_call: | |
| inputs: | |
| ref: | |
| description: git branch, tag or SHA to checkout. | |
| type: string | |
| required: true | |
| sdk: | |
| description: Version of Playdate SDK | |
| default: latest | |
| type: string | |
| required: true | |
| semver: | |
| description: Run semver-tests | |
| default: true | |
| type: boolean | |
| required: false | |
| workflow_dispatch: | |
| inputs: | |
| ref: | |
| default: "" | |
| description: git branch, tag or SHA to checkout. | |
| type: string | |
| required: false | |
| sdk: | |
| description: "Version of Playdate SDK" | |
| default: latest | |
| type: string | |
| required: true | |
| semver: | |
| description: Run semver-tests | |
| default: true | |
| type: boolean | |
| required: false | |
| pull_request: | |
| push: | |
| branches: [main, master] | |
| env: | |
| CARGO_INCREMENTAL: 1 | |
| CARGO_NET_RETRY: 10 | |
| RUSTUP_MAX_RETRIES: 10 | |
| CARGO_TERM_COLOR: always | |
| CARGO_TERM_PROGRESS_WHEN: never | |
| # RUST_LOG: trace | |
| # CARGO_PLAYDATE_LOG: trace | |
| jobs: | |
| api-sys: | |
| name: Api | |
| uses: ./.github/workflows/tests-api.yml | |
| secrets: inherit | |
| permissions: | |
| contents: read | |
| with: | |
| sdk: ${{ inputs.sdk || 'latest' }} | |
| ref: ${{ inputs.ref || github.ref }} | |
| docs: | |
| name: Docs | |
| uses: ./.github/workflows/tests-docs.yml | |
| secrets: inherit | |
| permissions: | |
| contents: read | |
| with: | |
| ref: ${{ inputs.ref || github.ref }} | |
| api: | |
| name: Api (${{ matrix.os.name }}) | |
| permissions: | |
| contents: read | |
| env: | |
| FEATURES_1: "" | |
| FEATURES_2: bindings-derive-debug | |
| FEATURES_3: bindings-derive-debug,sys/bindings-documentation,sys/error-ctx | |
| BUILD_STD_ARGS: -Zbuild-std=core,alloc --target=thumbv7em-none-eabihf | |
| CRATES: >- | |
| -p=playdate-color | |
| -p=playdate-controls | |
| -p=playdate-display | |
| -p=playdate-fs | |
| -p=playdate-graphics | |
| -p=playdate-menu | |
| -p=playdate-scoreboards | |
| -p=playdate-sound | |
| -p=playdate-sprite | |
| -p=playdate-system | |
| -p=playdate | |
| defaults: | |
| run: | |
| shell: bash | |
| runs-on: ${{ matrix.os.key }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - { name: mac, key: macos-14 } | |
| - { name: win, key: windows-latest } | |
| - { name: linux, key: ubuntu-latest } | |
| sdk: | |
| - ${{ inputs.sdk || 'latest' }} | |
| # - 2.6.2 | |
| steps: | |
| - run: arch | |
| - uses: actions/checkout@v4 | |
| with: | |
| ref: ${{ inputs.ref || github.ref }} | |
| - name: Cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| target/ | |
| ~/.cargo | |
| key: ${{ runner.os }}-${{ runner.arch }}-cargo-${{ hashFiles('Cargo.lock') }} | |
| # - name: Sweep cache for stale files | |
| # uses: BD103/cargo-sweep@v2 | |
| - name: Install cargo-binstall | |
| uses: cargo-bins/cargo-binstall@main | |
| - name: Install cargo-sweep | |
| run: cargo binstall cargo-sweep | |
| - name: Cache Sweep for stale files | |
| run: cargo sweep --recursive --time 2 | |
| - name: Config | |
| uses: ./.github/actions/init-cfg | |
| - name: Install bindgen | |
| if: matrix.sdk == 'beta' | |
| uses: ./.github/actions/install-bindgen | |
| - name: Install SDK (${{ matrix.sdk }}) | |
| uses: ./.github/actions/install-sdk | |
| with: | |
| version: ${{ matrix.sdk }} | |
| mac: ${{ secrets.SDK_BETA_MACOS }} | |
| win: ${{ secrets.SDK_BETA_WINDOWS }} | |
| linux: ${{ secrets.SDK_BETA_LINUX }} | |
| - name: Test Crates (host) | |
| run: | | |
| cargo test ${{ env.CRATES }} --lib --no-default-features --features=$FEATURES_1 | |
| cargo test ${{ env.CRATES }} --lib --no-default-features --features=$FEATURES_2 | |
| # cargo test ${{ env.CRATES }} --lib --no-default-features --features=$FEATURES_3 | |
| - name: Check Crates (device) | |
| run: cargo check ${{ env.CRATES }} --target=thumbv7em-none-eabihf | |
| - name: Build Crates (device) | |
| run: | | |
| cargo build ${{ env.CRATES }} --features=sys/lang-items,$FEATURES_1 ${{ env.BUILD_STD_ARGS }} --examples --lib | |
| cargo build ${{ env.CRATES }} --features=sys/lang-items,$FEATURES_2 ${{ env.BUILD_STD_ARGS }} --examples --lib | |
| cargo build ${{ env.CRATES }} --features=sys/lang-items,$FEATURES_3 ${{ env.BUILD_STD_ARGS }} --examples --lib | |
| utils: | |
| name: Utils (${{ matrix.os.name }}) | |
| permissions: | |
| contents: read | |
| defaults: | |
| run: | |
| shell: bash | |
| runs-on: ${{ matrix.os.key }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - { name: mac, key: macos-14 } | |
| - { name: win, key: windows-latest } | |
| - { name: linux, key: ubuntu-latest } | |
| sdk: | |
| - ${{ inputs.sdk || 'latest' }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| ref: ${{ inputs.ref || github.ref }} | |
| - name: Cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| target/ | |
| ~/.cargo | |
| key: ${{ runner.os }}-${{ runner.arch }}-cargo-${{ hashFiles('Cargo.lock') }} | |
| - name: Config | |
| uses: ./.github/actions/init-cfg | |
| - name: Rustup warmup | |
| if: runner.os == 'Windows' | |
| run: rustup show & | |
| - name: Install Deps | |
| uses: ./.github/actions/tools-deps | |
| - name: Install SDK (${{ matrix.sdk }}) | |
| uses: ./.github/actions/install-sdk | |
| with: | |
| version: ${{ matrix.sdk }} | |
| mac: ${{ secrets.SDK_BETA_MACOS }} | |
| win: ${{ secrets.SDK_BETA_WINDOWS }} | |
| linux: ${{ secrets.SDK_BETA_LINUX }} | |
| - name: Test | |
| run: | | |
| cargo test --locked -p=playdate-build-utils --all-features | |
| cargo test --locked -p=playdate-build --no-default-features | |
| cargo test --locked -p=playdate-build --all-features | |
| cargo test --locked -p=playdate-device | |
| cargo test --locked -p=playdate-tool --all-features | |
| cargo test -p=playdate-bindgen-cfg --all-features | |
| cargo test -p=playdate-bindgen --features=cli,runtime | |
| - name: Test Bindgen | |
| if: runner.os == 'macOS' | |
| env: | |
| PROFILE: dev | |
| TARGET: aarch64-apple-darwin | |
| CARGO_CFG_TARGET_ARCH: aarch64 | |
| CARGO_CFG_TARGET_POINTER_WIDTH: 64 | |
| CARGO_CFG_TARGET_OS: macos | |
| run: | | |
| cargo run -p=playdate-bindgen --features="cli,runtime" -- --features="" --output=target/out-test-bindings.rs | |
| cargo run -p=playdate-bindgen --features="cli,runtime" -- --features="documentation" --output=target/out-test-bindings.rs | |
| tool: | |
| name: Tool (${{ matrix.os.name }}) | |
| permissions: | |
| contents: read | |
| defaults: | |
| run: | |
| shell: bash | |
| runs-on: ${{ matrix.os.key }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - { name: mac, key: macos-14 } | |
| - { name: win, key: windows-latest } | |
| - { name: linux, key: ubuntu-latest } | |
| sdk: | |
| - ${{ inputs.sdk || 'latest' }} | |
| # - 2.6.2 | |
| # - beta | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| ref: ${{ inputs.ref || github.ref }} | |
| - name: Cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| target/ | |
| ~/.cargo | |
| key: ${{ runner.os }}-${{ runner.arch }}-cargo-${{ hashFiles('Cargo.lock') }} | |
| - name: Config | |
| uses: ./.github/actions/init-cfg | |
| - name: Rustup warmup | |
| if: runner.os == 'Windows' | |
| run: rustup show & | |
| - name: Install Deps | |
| uses: ./.github/actions/tools-deps | |
| - name: Install SDK (${{ matrix.sdk }}) | |
| uses: ./.github/actions/install-sdk | |
| with: | |
| version: ${{ matrix.sdk }} | |
| mac: ${{ secrets.SDK_BETA_MACOS }} | |
| win: ${{ secrets.SDK_BETA_WINDOWS }} | |
| linux: ${{ secrets.SDK_BETA_LINUX }} | |
| - name: Test | |
| run: cargo test --locked -p=cargo-playdate | |
| - name: Clean tmp | |
| run: rm -rf ./target/tmp | |
| tool-init: | |
| name: "Tool: Init (${{ matrix.os.name }})" | |
| permissions: | |
| contents: read | |
| defaults: | |
| run: | |
| shell: bash | |
| runs-on: ${{ matrix.os.key }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - { name: mac, key: macos-14 } | |
| - { name: win, key: windows-latest } | |
| - { name: linux, key: ubuntu-latest } | |
| sdk: | |
| - ${{ inputs.sdk || 'latest' }} | |
| # - 2.6.2 | |
| # - beta | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| ref: ${{ inputs.ref || github.ref }} | |
| - name: Cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| target/ | |
| ~/.cargo | |
| key: ${{ runner.os }}-${{ runner.arch }}-cargo-${{ hashFiles('Cargo.lock') }} | |
| - name: Config | |
| uses: ./.github/actions/init-cfg | |
| - name: Rustup warmup | |
| if: runner.os == 'Windows' | |
| run: rustup show & | |
| - name: Install Deps | |
| uses: ./.github/actions/tools-deps | |
| - name: Install SDK (${{ matrix.sdk }}) | |
| uses: ./.github/actions/install-sdk | |
| with: | |
| version: ${{ matrix.sdk }} | |
| mac: ${{ secrets.SDK_BETA_MACOS }} | |
| win: ${{ secrets.SDK_BETA_WINDOWS }} | |
| linux: ${{ secrets.SDK_BETA_LINUX }} | |
| - name: Test | |
| env: | |
| RUSTFLAGS: --cfg init_tests | |
| run: | | |
| cargo test --locked -p=cargo-playdate init:: -- ${{ runner.os == 'Windows' && '--test-threads=1' || '' }} | |
| - name: Clean tmp | |
| run: rm -rf ./target/tmp | |
| tool-execution: | |
| name: "Tool: Run (${{ matrix.os.name }})" | |
| permissions: | |
| contents: read | |
| defaults: | |
| run: | |
| shell: bash | |
| runs-on: ${{ matrix.os.key }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - { name: mac, key: macos-14 } | |
| # - { name: win, key: windows-latest } # Disabled due to issue #487 | |
| # - { name: linux, key: ubuntu-latest } # sim doesn't work | |
| sdk: | |
| - ${{ inputs.sdk || 'latest' }} | |
| # - 2.6.2 | |
| # - beta | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| ref: ${{ inputs.ref || github.ref }} | |
| - name: Cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| target/ | |
| ~/.cargo | |
| key: ${{ runner.os }}-${{ runner.arch }}-cargo-${{ hashFiles('Cargo.lock') }} | |
| - name: Config | |
| uses: ./.github/actions/init-cfg | |
| - name: Rustup warmup | |
| if: runner.os == 'Windows' | |
| run: rustup show & | |
| - name: Install Deps | |
| uses: ./.github/actions/tools-deps | |
| - name: Install SDK (${{ matrix.sdk }}) | |
| uses: ./.github/actions/install-sdk | |
| with: | |
| version: ${{ matrix.sdk }} | |
| mac: ${{ secrets.SDK_BETA_MACOS }} | |
| win: ${{ secrets.SDK_BETA_WINDOWS }} | |
| linux: ${{ secrets.SDK_BETA_LINUX }} | |
| - name: Clean tmp | |
| run: rm -rf ./target/tmp | |
| - name: Test Execution | |
| env: | |
| # RUST_LOG: trace | |
| # CARGO_PLAYDATE_LOG: trace | |
| RUSTFLAGS: --cfg exec_tests | |
| run: | | |
| cargo test --locked -p=cargo-playdate run:: -- --nocapture --test-threads=1 | |
| sudo killall "Playdate Simulator" || true | |
| rm -rf ./target/tmp | |
| - name: kill proc | |
| shell: powershell | |
| if: runner.os == 'Windows' | |
| run: Stop-Process -Name "PlaydateSimulator" -Force -ErrorAction SilentlyContinue | |
| tool-package: | |
| name: "Tool: Package (${{ matrix.os.name }})" | |
| permissions: | |
| contents: read | |
| defaults: | |
| run: | |
| shell: bash | |
| runs-on: ${{ matrix.os.key }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - { name: mac, key: macos-14 } | |
| - { name: win, key: windows-latest } | |
| - { name: linux, key: ubuntu-latest } | |
| sdk: | |
| - ${{ inputs.sdk || 'latest' }} | |
| # - 2.6.2 | |
| # - beta | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| ref: ${{ inputs.ref || github.ref }} | |
| - name: Cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo | |
| key: ${{ runner.os }}-${{ runner.arch }}-cargo-examples-${{ hashFiles('Cargo.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-${{ runner.arch }}-cargo-examples-${{ hashFiles('Cargo.lock') }} | |
| ${{ runner.os }}-${{ runner.arch }}-cargo-${{ hashFiles('Cargo.lock') }} | |
| - name: Config | |
| uses: ./.github/actions/init-cfg | |
| - name: Clean | |
| run: | | |
| rm -rf ./target/tmp || true | |
| rm -rf ./target/playdate || true | |
| cargo clean | |
| - name: Rustup warmup | |
| if: runner.os == 'Windows' | |
| run: rustup show & | |
| - name: Install Deps | |
| uses: ./.github/actions/tools-deps | |
| - name: Install SDK (${{ matrix.sdk }}) | |
| uses: ./.github/actions/install-sdk | |
| with: | |
| version: ${{ matrix.sdk }} | |
| mac: ${{ secrets.SDK_BETA_MACOS }} | |
| win: ${{ secrets.SDK_BETA_WINDOWS }} | |
| linux: ${{ secrets.SDK_BETA_LINUX }} | |
| - name: Install cargo-playdate | |
| run: cargo install --path=./cargo --debug --locked | |
| # Run `cargo playdate package` without bindgen-features and without the tool: | |
| - name: Examples | |
| env: | |
| IGNORE_EXISTING_PLAYDATE_SDK: 1 | |
| FEATURES: lang-items,entry-point,bindings-derive-debug | |
| FEATURES_DEP: sys/lang-items,sys/entry-point,sys/bindings-derive-debug | |
| run: | | |
| cargo playdate package --features=lang-items,bindings-derive-debug --examples --device --simulator -p=playdate-sys --no-default-features | |
| cargo playdate package --features=$FEATURES_DEP --examples --device --simulator -p=playdate-color --no-default-features | |
| cargo playdate package --features=$FEATURES_DEP --examples --device --simulator -p=playdate-controls --no-default-features | |
| cargo playdate package --features=$FEATURES_DEP --examples --device --simulator -p=playdate-display --no-default-features | |
| cargo playdate package --features=$FEATURES_DEP --examples --device --simulator -p=playdate-fs --no-default-features | |
| cargo playdate package --features=$FEATURES_DEP --examples --device --simulator -p=playdate-graphics --no-default-features | |
| cargo playdate package --features=$FEATURES_DEP --examples --device --simulator -p=playdate-menu --no-default-features | |
| cargo playdate package --features=$FEATURES_DEP --examples --device --simulator -p=playdate-scoreboards --no-default-features | |
| cargo playdate package --features=$FEATURES_DEP --examples --device --simulator -p=playdate-sound --no-default-features | |
| cargo playdate package --features=$FEATURES_DEP --examples --device --simulator -p=playdate-sprite --no-default-features | |
| cargo playdate package --features=$FEATURES_DEP --examples --device --simulator -p=playdate-system --no-default-features | |
| cargo playdate package --features=$FEATURES_DEP --examples --device --simulator -p=playdate-lua --no-default-features | |
| cargo playdate package --features=$FEATURES --examples --device --simulator -p=playdate --no-default-features | |
| format: | |
| name: Format | |
| defaults: | |
| run: | |
| shell: bash | |
| runs-on: ubuntu-latest | |
| if: github.event_name == 'pull_request' || github.event_name == 'pull_request_target' | |
| permissions: | |
| actions: read | |
| contents: read | |
| pull-requests: write | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| ref: ${{ inputs.ref || github.ref }} | |
| - name: Check | |
| id: check-rs | |
| continue-on-error: true # do not failt before suggestions | |
| run: cargo fmt --all -- --check | |
| - name: Format (rs) | |
| id: format | |
| if: steps.check-rs.outcome == 'failure' | |
| run: | | |
| cargo fmt --all | |
| cargo fmt --all | |
| # ^ second run needed as anti-flickering workaround for rustfmt issue: | |
| # https://github.com/rust-lang/rustfmt/issues/6240 | |
| # Needed as anti-flicker, see above. | |
| # In any normal case should not fail because everything formatted properly at prev step. | |
| - name: Check (rs again) | |
| id: check-rs-success | |
| continue-on-error: true | |
| run: cargo fmt --all -- --check | |
| - name: Install Taplo | |
| uses: uncenter/setup-taplo@v1.0.8 | |
| with: | |
| version: "0.9.3" | |
| - name: Format (toml) | |
| id: check-toml | |
| continue-on-error: true # do not failt before suggestions | |
| run: taplo fmt "**/*.toml" --check | |
| - name: Format (toml) | |
| if: steps.check-toml.outcome == 'failure' | |
| run: taplo fmt "**/*.toml" | |
| - name: Suggestions | |
| continue-on-error: true | |
| uses: reviewdog/action-suggester@v1 | |
| with: | |
| filter_mode: diff_context | |
| fail_level: none | |
| tool_name: Format | |
| cleanup: false | |
| - name: Fail (rs) | |
| if: steps.check-rs.outcome == 'failure' && steps.check-rs-success.outcome != 'failure' | |
| run: echo "::error::Rust format error." && exit 1 | |
| - name: Fail (toml) | |
| if: steps.check-toml.outcome == 'failure' | |
| run: echo "::error::Toml format error." && exit 1 | |
| clippy: # with fmt suggestions needed after clippy fix. | |
| name: Clippy (${{ matrix.os.name }}) | |
| if: github.event_name == 'pull_request' || github.event_name == 'pull_request_target' | |
| defaults: | |
| run: | |
| shell: bash | |
| permissions: | |
| contents: read | |
| checks: write | |
| issues: write | |
| pull-requests: write | |
| runs-on: ${{ matrix.os.key }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - { name: mac, key: macos-14 } | |
| - { name: win, key: windows-latest } | |
| - { name: linux, key: ubuntu-latest } | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| ref: ${{ inputs.ref || github.ref }} | |
| - name: Install Clippy | |
| run: rustup component add clippy | |
| - name: Cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| target/ | |
| ~/.cargo | |
| key: ${{ runner.os }}-${{ runner.arch }}-cargo-${{ hashFiles('Cargo.lock') }} | |
| - name: Config | |
| uses: ./.github/actions/init-cfg | |
| - name: Install Deps | |
| uses: ./.github/actions/tools-deps | |
| - name: Cargo & Support | |
| id: clippy | |
| continue-on-error: true | |
| run: >- | |
| cargo clippy --fix --allow-dirty | |
| -p=cargo-playdate | |
| -p=playdate-bindgen | |
| -p=playdate-bindgen-cfg | |
| -p=playdate-build | |
| -p=playdate-device | |
| -p=playdate-simulator-utils | |
| -p=playdate-build-utils | |
| -p=playdate-tool | |
| --bins --examples --all-targets | |
| -- -Aclippy::cargo | |
| # needed after clippy fix | |
| - name: fmt | |
| run: | | |
| cargo fmt --all | |
| cargo fmt --all | |
| # ^ second run needed as anti-flickering workaround for rustfmt issue: | |
| # https://github.com/rust-lang/rustfmt/issues/6240 | |
| - name: remove config | |
| run: rm -rf .cargo | |
| - name: Suggestions | |
| continue-on-error: true | |
| uses: reviewdog/action-suggester@v1 | |
| with: | |
| filter_mode: diff_context | |
| fail_level: none | |
| tool_name: Clippy & fmt | |
| cleanup: false | |
| semver: | |
| name: Semver | |
| if: inputs.semver != 'false' && (github.event_name == 'pull_request' || github.event_name == 'pull_request_target') | |
| runs-on: macos-14 | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Check | |
| id: check | |
| continue-on-error: true | |
| env: | |
| DOCS_RS: 1 | |
| PLAYDATE_SDK_PATH: 0 | |
| IGNORE_EXISTING_PLAYDATE_SDK: 1 | |
| uses: obi1kenobi/cargo-semver-checks-action@v2 | |
| with: | |
| feature-group: default-features | |
| rust-toolchain: manual | |
| - name: Check (fallback) | |
| if: steps.check.outcome == 'failure' | |
| env: | |
| DOCS_RS: 1 | |
| PLAYDATE_SDK_PATH: 0 | |
| IGNORE_EXISTING_PLAYDATE_SDK: 1 | |
| uses: obi1kenobi/cargo-semver-checks-action@v2 | |
| with: | |
| feature-group: default-features | |
| rust-toolchain: stable | |
| consistency: | |
| name: Consistency | |
| if: github.event_name == 'pull_request' || github.event_name == 'pull_request_target' | |
| runs-on: macos-14 | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Check | |
| id: crates | |
| uses: katyo/publish-crates@v2 | |
| with: | |
| dry-run: true | |
| - name: Output | |
| if: fromJSON(steps.crates.outputs.published).* | |
| run: | | |
| LIST="${{ join(fromJSON(steps.crates.outputs.published).*.name, ', ') }}" | |
| echo "crates: $LIST" |