From 6a632e7ee6ceaafe3134a52ce12278d9066ffc62 Mon Sep 17 00:00:00 2001 From: thesimplekid Date: Fri, 15 Nov 2024 18:01:09 +0000 Subject: [PATCH] chore: add back full ci --- .github/workflows/ci.yml | 207 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 207 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 01ca742f5..d79aebe9f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -41,3 +41,210 @@ jobs: ' - name: typos run: nix develop -i -L .#nightly --command typos + + 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 --no-default-features --features "mint swagger", + -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-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 }} + + itest: + name: "Integration regtest tests" + runs-on: ubuntu-latest + strategy: + matrix: + build-args: + [ + -p cdk-integration-tests, + ] + database: + [ + REDB, + SQLITE, + MEMORY, + ] + 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: Clippy + run: nix develop -i -L .#stable --command cargo clippy ${{ matrix.build-args }} -- -D warnings + - name: Test + run: nix develop -i -L .#stable --command just itest ${{ matrix.database }} + + fake-wallet-itest: + name: "Integration fake wallet tests" + runs-on: ubuntu-latest + strategy: + matrix: + build-args: + [ + -p cdk-integration-tests, + ] + database: + [ + REDB, + SQLITE, + MEMORY, + ] + 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: Clippy + run: nix develop -i -L .#stable --command cargo clippy ${{ matrix.build-args }} -- -D warnings + - name: Test fake mint + run: nix develop -i -L .#stable --command just fake-mint-itest ${{ matrix.database }} + + 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 }}