Relicense the library to MIT/Apache 2.0 #193
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: | |
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: | |
- uses: actions/checkout@v4 | |
- run: cargo install --locked just | |
- run: sudo apt-get install -y codespell | |
- name: Check spelling | |
run: just spelling | |
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 | |
- run: cargo install --locked just | |
- run: rustup install nightly | |
- run: rustup component add rustfmt --toolchain nightly | |
- name: Check formatting | |
run: just formatting | |
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 | |
- run: cargo install --locked just | |
- name: Run unit tests | |
run: just tests | |
deps: | |
name: Check dependencies | |
strategy: | |
matrix: | |
include: | |
- os: ubuntu-latest | |
- os: macos-latest | |
- os: windows-latest | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- run: cargo install --locked just cargo-deny | |
- name: Run unit tests | |
run: just dependencies | |
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 | |
- run: cargo install --locked just | |
- name: Check for lints | |
run: just lints | |
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 }} |