build(deps): bump the patch group across 1 directory with 2 updates (… #586
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 | |
pull_request: | |
types: [ opened, synchronize, reopened ] | |
workflow_dispatch: | |
jobs: | |
formatting: | |
name: Check formatting | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Check formatting | |
shell: pwsh | |
run: | | |
Write-Host "Check formatting" | |
cargo fmt --all -- --check | |
if ($LastExitCode -eq 1) { | |
throw "Bad formatting, please run 'cargo +stable fmt --all'" | |
} | |
lints: | |
name: Lints [${{ matrix.os }}] | |
runs-on: ${{ matrix.runner }} | |
needs: formatting | |
strategy: | |
fail-fast: true | |
matrix: | |
os: [ win, osx, linux ] | |
include: | |
- os: win | |
runner: windows-2022 | |
additional-args: --features tsssp,scard | |
- os: osx | |
runner: macos-12 | |
- os: linux | |
runner: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
# Compiling the ffi module is enough to lint the whole sspi workspace | |
- name: Check clippy | |
env: | |
AWS_LC_SYS_NO_ASM: true | |
run: cargo clippy --manifest-path ffi/Cargo.toml ${{ matrix.additional-args }} -- -D warnings -D clippy::print_stdout | |
tests: | |
name: Tests [${{ matrix.os }}] [${{ matrix.crate-name }}] | |
runs-on: ${{ matrix.runner }} | |
needs: formatting | |
env: | |
SSPI_RS_IS_RUNNING_TESTS: true | |
strategy: | |
fail-fast: true | |
matrix: | |
os: [ win, osx, linux ] | |
manifest: [ Cargo.toml, ffi/Cargo.toml ] | |
include: | |
- manifest: Cargo.toml | |
crate-name: sspi | |
- manifest: ffi/Cargo.toml | |
crate-name: sspi-ffi | |
- os: win | |
runner: windows-2022 | |
additional-args: --features tsssp,scard | |
- os: osx | |
runner: macos-12 | |
- os: linux | |
runner: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Test | |
env: | |
AWS_LC_SYS_NO_ASM: true | |
run: cargo test --manifest-path ${{ matrix.manifest }} ${{ matrix.additional-args }} | |
miri: | |
name: Miri FFI tests | |
runs-on: ubuntu-20.04 | |
needs: formatting | |
env: | |
SSPI_RS_IS_RUNNING_TESTS: true | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install nightly toolchain and Miri | |
run: | | |
rustup toolchain install nightly --component miri | |
rustup override set nightly | |
- name: Test | |
run: cargo miri test --manifest-path ffi/Cargo.toml | |
wasm: | |
name: WASM target | |
runs-on: ubuntu-latest | |
needs: formatting | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Prepare runner | |
run: sudo apt install wabt | |
- name: Check | |
shell: pwsh | |
run: ./tools/wasm-testcompile/check.ps1 | |
build-native: | |
name: Build native | |
needs: formatting | |
uses: ./.github/workflows/build-native.yml | |
success: | |
name: Success | |
runs-on: ubuntu-latest | |
if: ${{ always() }} | |
needs: | |
- formatting | |
- lints | |
- tests | |
- miri | |
- wasm | |
- build-native | |
steps: | |
- name: CI succeeded | |
id: succeeded | |
if: ${{ !contains(needs.*.result, 'failure') }} | |
run: exit 0 | |
- name: CI failed | |
if: ${{ steps.succeeded.outcome == 'skipped' }} | |
run: exit 1 |