Merge pull request #29 from wiktor-k/use-bind #187
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: | |
pull_request: | |
push: | |
tags: | |
- 'v*' | |
branches: [ main ] | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
check-spelling: | |
name: Check spelling | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check spelling | |
uses: codespell-project/actions-codespell@master | |
formatting: | |
name: Check formatting | |
strategy: | |
matrix: | |
include: | |
- os: ubuntu-latest | |
- os: macos-latest | |
- os: windows-latest | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Check formatting | |
run: cargo fmt --all -- --check | |
tests: | |
name: Unit tests | |
strategy: | |
matrix: | |
include: | |
- os: ubuntu-latest | |
- os: macos-latest | |
- os: windows-latest | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build and test | |
run: cargo build --verbose --all && cargo test --verbose --all | |
lints: | |
name: Clippy lints | |
strategy: | |
matrix: | |
include: | |
- os: ubuntu-latest | |
- os: macos-latest | |
- os: windows-latest | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Check for lints | |
run: cargo clippy -- -D warnings | |
integration: | |
name: Integration tests | |
# If starting the example fails at runtime the integration test will | |
# be stuck. Try to limit the damage. The value "10" selected arbitrarily. | |
timeout-minutes: 10 | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, macos-latest ] | |
include: | |
- os: windows-latest | |
windows: true | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
# If the example doesn't compile the integration test will | |
# be stuck. Check for compilation issues earlier to abort the job | |
- name: Check if the example compiles | |
run: cargo check --example key_storage | |
- name: Run integration tests | |
run: ./tests/sign-and-verify.sh | |
if: ${{ ! matrix.windows }} | |
- name: Run integration tests | |
run: ".\\tests\\sign-and-verify-win.bat" | |
if: ${{ matrix.windows }} |