Bandersnatch library #92
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"] | |
pull_request: | |
branches: ["master"] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
lint: | |
name: Swift Lint | |
runs-on: [self-hosted, linux] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Check swift codestyle | |
uses: norio-nomura/[email protected] | |
with: | |
args: lint --config .swiftlint.yml --strict | |
test: | |
name: Build and Test | |
runs-on: [self-hosted, linux] | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Get blst submodule commit hash | |
id: blst-commit-hash | |
run: | | |
echo "::set-output name=commit-hash::$(git submodule status Utils/Sources/blst/ | cut -c2-41)" | |
- name: Cache SPM | |
uses: actions/cache@v4 | |
with: | |
path: '**/.build' | |
key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }} | |
restore-keys: | | |
${{ runner.os }}-spm- | |
- name: Cache Cargo | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
Utils/Sources/bandersnatch/target/ | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Cache static lib files | |
uses: actions/cache@v4 | |
with: | |
path: .lib | |
key: ${{ runner.os }}-libs-${{ steps.blst-commit-hash.outputs.commit-hash }} | |
restore-keys: | | |
${{ runner.os }}-libs- | |
- name: Setup Swift | |
uses: SwiftyLab/setup-swift@latest | |
with: | |
swift-version: '6.0' | |
development: true | |
- name: Setup Rust | |
uses: dtolnay/rust-toolchain@nightly | |
with: | |
components: rustfmt | |
- name: Check rust format | |
run: cargo +nightly fmt --all --manifest-path Utils/Sources/bandersnatch/Cargo.toml -- --check | |
- name: Build | |
run: make build | |
- name: Test | |
run: make test |