Skip to content

test(rpc): cover Ironwood coinbase output recovery #1779

test(rpc): cover Ironwood coinbase output recovery

test(rpc): cover Ironwood coinbase output recovery #1779

Workflow file for this run

name: Unit Tests
on:
pull_request:
branches: [main]
push:
branches: [main]
merge_group:
# Ensures that only one workflow task will run at a time. Previous builds, if
# already in process, will get cancelled. Only the latest commit will be allowed
# to run, cancelling any workflows in between
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
permissions:
contents: read
pull-requests: read
env:
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
RUST_LIB_BACKTRACE: 1
RUST_LOG: info
COLORBT_SHOW_HIDDEN: 1
jobs:
changes:
runs-on: ubuntu-latest
timeout-minutes: 5
outputs:
unit_tests: ${{ steps.filter.outputs.unit_tests || 'true' }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
if: github.event_name == 'pull_request'
with:
persist-credentials: false
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: filter
if: github.event_name == 'pull_request'
with:
filters: .github/path-filters.yml
run-unit-tests:
name: ${{ matrix.rust-version }}
needs: changes
if: needs.changes.outputs.unit_tests == 'true'
permissions:
contents: read
id-token: write
statuses: write
runs-on: ubuntu-latest
timeout-minutes: 120
strategy:
fail-fast: false
matrix:
rust-version: [stable, beta]
features: [default-release-binaries]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
with:
persist-credentials: false
- uses: actions-rust-lang/setup-rust-toolchain@46268bd060767258de96ed93c1251119784f2ab6 #v1.16.1
with:
toolchain: ${{ matrix.rust-version }}
cache-key: unit-tests-${{ matrix.rust-version }}-${{ matrix.features }}
cache-on-failure: true
- uses: taiki-e/install-action@65851e10cd6c377f11a60e600abc07cb08643468 #v2.79.3
with:
tool: cargo-nextest
- uses: ./.github/actions/setup-zebra-build
- name: Run unit tests
run: cargo nextest run --profile ci --locked --release --features "${{ matrix.features }}" --run-ignored=all
check-no-git-dependencies:
name: Check no git dependencies
needs: changes
if: needs.changes.outputs.unit_tests == 'true' && github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'A-release')
permissions:
contents: read
id-token: write
statuses: write
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #v6.0.2
with:
persist-credentials: false
- uses: actions-rust-lang/setup-rust-toolchain@46268bd060767258de96ed93c1251119784f2ab6 #v1.16.1
with:
toolchain: stable
cache-on-failure: true
- uses: taiki-e/install-action@65851e10cd6c377f11a60e600abc07cb08643468 #v2.79.3
with:
tool: cargo-nextest
- uses: ./.github/actions/setup-zebra-build
- name: Check no git dependencies
run: cargo nextest run --profile check-no-git-dependencies --locked --run-ignored=only
unit-tests:
runs-on: ubuntu-latest
if: always()
needs:
- changes
- run-unit-tests
- check-no-git-dependencies
timeout-minutes: 30
steps:
- name: Decide whether the needed jobs succeeded or failed
uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe #v1.2.2
with:
jobs: ${{ toJSON(needs) }}
allowed-skips: run-unit-tests, check-no-git-dependencies