name: electrs on: push: pull_request: schedule: - cron: "0 0 * * *" # once a day jobs: build: name: Build runs-on: ubuntu-latest strategy: matrix: build-args: [ --locked --no-default-features, --locked, --locked --features metrics_process, ] steps: - uses: actions/checkout@v3 - uses: dtolnay/rust-toolchain@stable with: components: rustfmt, clippy - name: Install Rust run: rustup component add rustfmt clippy - name: Format run: cargo fmt --all -- --check - name: Build run: cargo build ${{ matrix.build-args }} --all - name: Test run: cargo test ${{ matrix.build-args }} --all - name: Clippy run: cargo clippy -- -D warnings integration: name: Integration runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Build run: docker build -f Dockerfile.ci . --rm -t electrs:tests - name: Test run: docker run -v $PWD/contrib/:/contrib -v $PWD/tests/:/tests --rm electrs:tests bash /tests/run.sh