mirror of
https://github.com/lndk-org/lndk.git
synced 2026-08-17 13:06:54 +02:00
101 lines
2.9 KiB
YAML
101 lines
2.9 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: ["master"]
|
|
pull_request:
|
|
branches: ["*"]
|
|
|
|
env:
|
|
GO_VERSION: 1.21.0
|
|
RUST_TOOLCHAIN: 1.88.0
|
|
|
|
jobs:
|
|
build_and_format:
|
|
name: LNDK Rust Build
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: ${{ env.RUST_TOOLCHAIN }}
|
|
components: rustfmt, clippy
|
|
- run: sudo apt-get install protobuf-compiler
|
|
- run: cargo build --release --all-features
|
|
- run: cargo fmt -- --config unstable_features=true --config wrap_comments=true --config comment_width=100 --check
|
|
- run: cargo clippy -- --deny warnings
|
|
|
|
########################
|
|
# run ubuntu integration tests
|
|
########################
|
|
ubuntu-integration-test:
|
|
name: run ubuntu unit and integration tests
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
TMPDIR: /tmp
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
submodules: "true"
|
|
- uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: ${{ env.RUST_TOOLCHAIN }}
|
|
- run: sudo apt-get install protobuf-compiler
|
|
- name: setup go ${{ env.GO_VERSION }}
|
|
uses: lightningnetwork/lnd/.github/actions/setup-go@v0-16-4-branch
|
|
with:
|
|
go-version: "${{ env.GO_VERSION }}"
|
|
- name: Install just
|
|
run: |
|
|
if ! command -v just &> /dev/null; then
|
|
curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | sudo bash -s -- --to /usr/local/bin
|
|
else
|
|
echo "just is already installed: $(just --version)"
|
|
fi
|
|
- name: run unit tests
|
|
run: just lib-test
|
|
- name: run cli unit tests
|
|
run: just cli-test
|
|
- name: run integration tests
|
|
run: just itest
|
|
|
|
coverage:
|
|
name: LNDK Code Coverage
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: ${{ env.RUST_TOOLCHAIN }}
|
|
- run: sudo apt-get install protobuf-compiler
|
|
- name: Install cargo-llvm-cov
|
|
uses: taiki-e/install-action@cargo-llvm-cov
|
|
- name: Generate code coverage
|
|
run: cargo llvm-cov --bin lndk --workspace --lcov --output-path lcov.info
|
|
- name: Upload coverage to Codecov
|
|
uses: codecov/codecov-action@v4
|
|
with:
|
|
files: lcov.info
|
|
fail_ci_if_error: true
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
|
|
check-flake:
|
|
name: Check Nix Flake
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: "recursive"
|
|
|
|
- name: Check Nix flake inputs
|
|
uses: DeterminateSystems/flake-checker-action@v8
|
|
|
|
- name: Install Nix
|
|
uses: cachix/install-nix-action@v31.7.0
|
|
with:
|
|
nix_path: nixpkgs=channel:nixos-24.05
|
|
- name: Check flake
|
|
run: nix flake check
|