mirror of
https://github.com/aljazceru/cdk.git
synced 2025-12-24 08:05:02 +01:00
186 lines
5.2 KiB
YAML
186 lines
5.2 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
|
|
jobs:
|
|
self-care:
|
|
name: Flake self-check
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Check Nix flake inputs
|
|
uses: DeterminateSystems/flake-checker-action@v7
|
|
with:
|
|
fail-mode: true
|
|
|
|
pre-commit-checks:
|
|
name: "Pre-commit checks: cargo fmt, typos"
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: checkout
|
|
uses: actions/checkout@v4
|
|
- name: Install Nix
|
|
uses: DeterminateSystems/nix-installer-action@v11
|
|
- name: Nix Cache
|
|
uses: DeterminateSystems/magic-nix-cache-action@v6
|
|
- name: Rust Cache
|
|
uses: Swatinem/rust-cache@v2
|
|
- name: Pre-commit checks
|
|
run: nix develop -i -L .#stable --command pre-commit run --all-files
|
|
|
|
clippy:
|
|
name: "Stable build, clippy and test"
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
build-args:
|
|
[
|
|
-p cdk,
|
|
-p cdk --no-default-features,
|
|
-p cdk --no-default-features --features wallet,
|
|
-p cdk --no-default-features --features mint,
|
|
-p cdk-redb,
|
|
-p cdk-sqlite,
|
|
-p cdk-axum,
|
|
-p cdk-cln,
|
|
-p cdk-lnd,
|
|
-p cdk-phoenixd,
|
|
-p cdk-strike,
|
|
-p cdk-lnbits,
|
|
-p cdk-integration-tests,
|
|
-p cdk-fake-wallet,
|
|
--bin cdk-cli,
|
|
--bin cdk-mintd
|
|
]
|
|
steps:
|
|
- name: checkout
|
|
uses: actions/checkout@v4
|
|
- name: Install Nix
|
|
uses: DeterminateSystems/nix-installer-action@v11
|
|
- name: Nix Cache
|
|
uses: DeterminateSystems/magic-nix-cache-action@v6
|
|
- name: Rust Cache
|
|
uses: Swatinem/rust-cache@v2
|
|
- name: Build
|
|
run: nix develop -i -L .#stable --command cargo build ${{ matrix.build-args }}
|
|
- name: Clippy
|
|
run: nix develop -i -L .#stable --command cargo clippy ${{ matrix.build-args }} -- -D warnings
|
|
- name: Test
|
|
run: nix develop -i -L .#stable --command cargo test ${{ matrix.build-args }}
|
|
|
|
msrv-build:
|
|
name: "MSRV build"
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
build-args:
|
|
[
|
|
-p cdk,
|
|
-p cdk --no-default-features,
|
|
-p cdk --no-default-features --features wallet,
|
|
-p cdk --no-default-features --features mint,
|
|
-p cdk-axum,
|
|
-p cdk-strike,
|
|
-p cdk-lnbits,
|
|
-p cdk-phoenixd
|
|
-p cdk-fake-wallet
|
|
-p cdk-cln
|
|
]
|
|
steps:
|
|
- name: checkout
|
|
uses: actions/checkout@v4
|
|
- name: Install Nix
|
|
uses: DeterminateSystems/nix-installer-action@v11
|
|
- name: Nix Cache
|
|
uses: DeterminateSystems/magic-nix-cache-action@v6
|
|
- name: Rust Cache
|
|
uses: Swatinem/rust-cache@v2
|
|
- name: Build
|
|
run: nix develop -i -L .#msrv --command cargo build ${{ matrix.build-args }}
|
|
|
|
|
|
db-msrv-build:
|
|
name: "DB MSRV build"
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
build-args:
|
|
[
|
|
-p cdk-sqlite
|
|
-p cdk-redb
|
|
]
|
|
steps:
|
|
- name: checkout
|
|
uses: actions/checkout@v4
|
|
- name: Install Nix
|
|
uses: DeterminateSystems/nix-installer-action@v11
|
|
- name: Nix Cache
|
|
uses: DeterminateSystems/magic-nix-cache-action@v6
|
|
- name: Rust Cache
|
|
uses: Swatinem/rust-cache@v2
|
|
- name: Build
|
|
run: nix develop -i -L .#db_shell --command cargo build ${{ matrix.build-args }}
|
|
|
|
check-wasm:
|
|
name: Check WASM
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
rust:
|
|
- stable
|
|
target:
|
|
- wasm32-unknown-unknown
|
|
build-args:
|
|
[
|
|
-p cdk,
|
|
-p cdk --no-default-features,
|
|
-p cdk --no-default-features --features wallet,
|
|
-p cdk-js
|
|
]
|
|
steps:
|
|
- name: checkout
|
|
uses: actions/checkout@v4
|
|
- name: Install Nix
|
|
uses: DeterminateSystems/nix-installer-action@v11
|
|
- name: Nix Cache
|
|
uses: DeterminateSystems/magic-nix-cache-action@v6
|
|
- name: Rust Cache
|
|
uses: Swatinem/rust-cache@v2
|
|
- name: Build cdk and binding
|
|
run: nix develop -i -L ".#${{ matrix.rust }}" --command cargo build ${{ matrix.build-args }} --target ${{ matrix.target }}
|
|
|
|
|
|
check-wasm-msrv:
|
|
name: Check WASM
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
rust:
|
|
- msrv
|
|
target:
|
|
- wasm32-unknown-unknown
|
|
build-args:
|
|
[
|
|
-p cdk,
|
|
-p cdk --no-default-features,
|
|
-p cdk --no-default-features --features wallet,
|
|
]
|
|
steps:
|
|
- name: checkout
|
|
uses: actions/checkout@v4
|
|
- name: Install Nix
|
|
uses: DeterminateSystems/nix-installer-action@v11
|
|
- name: Nix Cache
|
|
uses: DeterminateSystems/magic-nix-cache-action@v6
|
|
- name: Rust Cache
|
|
uses: Swatinem/rust-cache@v2
|
|
- name: Build cdk wasm
|
|
run: nix develop -i -L ".#${{ matrix.rust }}" --command cargo build ${{ matrix.build-args }} --target ${{ matrix.target }}
|