mirror of
https://github.com/lndk-org/lndk.git
synced 2026-08-14 12:43:05 +02:00
v4 allows for "tokenless uploads" when users submit pull requests from their own forks of LNDK. This allows outside contributors to the project to run the action successfully.
83 lines
2.3 KiB
YAML
83 lines
2.3 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: ['master']
|
|
pull_request:
|
|
branches: ['*']
|
|
|
|
env:
|
|
GO_VERSION: 1.21.0
|
|
|
|
RUST_VERSION: 1.78.0
|
|
|
|
jobs:
|
|
build_and_format:
|
|
name: LNDK Rust Build
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
toolchain: ${{ env.GO_VERSION }}
|
|
- run: sudo apt-get install protobuf-compiler
|
|
- uses: actions-rs/cargo@v1
|
|
name: cargo build
|
|
with:
|
|
command: build
|
|
args: --release --all-features
|
|
- uses: actions-rs/cargo@v1
|
|
name: cargo fmt
|
|
with:
|
|
command: fmt
|
|
args: -- --config unstable_features=true --config wrap_comments=true --config comment_width=100 --check
|
|
- uses: actions-rs/cargo@v1
|
|
name: cargo clippy
|
|
with:
|
|
command: clippy
|
|
args: -- --deny warnings
|
|
|
|
########################
|
|
# run ubuntu integration tests
|
|
########################
|
|
ubuntu-integration-test:
|
|
name: run ubuntu unit and integration tests
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
submodules: 'true'
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
toolchain: ${{ env.GO_VERSION }}
|
|
- 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: run unit tests
|
|
run: cargo test --bin lndk
|
|
- name: run integration tests
|
|
run: make itest
|
|
|
|
coverage:
|
|
name: LNDK Code Coverage
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
toolchain: ${{ env.GO_VERSION }}
|
|
- 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 }}
|