feat!: submit eviction proof for nodes that miss many proposals (#1211) #29
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: CI | |
'on': | |
workflow_dispatch: | |
push: | |
branches: | |
- development | |
- main | |
- ci-* | |
pull_request: | |
types: | |
- opened | |
- reopened | |
- synchronize | |
merge_group: | |
concurrency: | |
# https://docs.github.com/en/actions/examples/using-concurrency-expressions-and-a-test-matrix | |
group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' | |
cancel-in-progress: ${{ !startsWith(github.ref, 'refs/tags/v') || github.ref != 'refs/heads/development' }} | |
env: | |
nightly_toolchain: nightly-2023-06-12 | |
stable_toolchain: 1.82 | |
CARGO_HTTP_MULTIPLEXING: false | |
CARGO_TERM_COLOR: always | |
TARI_TARGET_NETWORK: localnet | |
TARI_NETWORK: localnet | |
PROTOC: protoc | |
TERM: unknown | |
jobs: | |
fmt: | |
name: fmt | |
runs-on: [ self-hosted, ubuntu-high-cpu ] | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: toolchain | |
uses: dtolnay/rust-toolchain@nightly | |
with: | |
toolchain: ${{ env.nightly_toolchain }} | |
components: rustfmt | |
- name: ubuntu dependencies | |
run: | | |
sudo apt-get update | |
sudo bash scripts/install_ubuntu_dependencies.sh | |
- name: wasm target install | |
run: rustup target add wasm32-unknown-unknown | |
- name: cargo format | |
run: cargo +${{ env.nightly_toolchain }} fmt --all -- --check | |
prettier: | |
name: prettier | |
runs-on: [ self-hosted, ubuntu-high-cpu ] | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: install | |
run: | | |
npm install [email protected] | |
- name: prettier | |
run: | | |
npx prettier --check "./applications/{tari_validator_node_web_ui,tari_indexer_web_ui,tari_dan_wallet_web_ui}/src/*.{ts,tsx,json}" | |
clippy: | |
name: clippy | |
runs-on: [ self-hosted, ubuntu-high-cpu ] | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: toolchain | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: ${{ env.stable_toolchain }} | |
components: clippy | |
- name: ubuntu dependencies | |
run: | | |
sudo apt-get update | |
sudo bash scripts/install_ubuntu_dependencies.sh | |
- uses: rui314/setup-mold@v1 | |
- name: wasm target install | |
run: rustup target add wasm32-unknown-unknown | |
- name: Install cargo-lints | |
run: cargo install cargo-lints | |
- name: Clippy check (with lints) | |
run: cargo lints clippy --all-targets --all-features | |
machete: | |
# Checks for unused dependencies. | |
name: machete | |
runs-on: [ ubuntu-latest ] | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: toolchain | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: ${{ env.stable_toolchain }} | |
components: clippy, rustfmt | |
- name: ubuntu dependencies | |
run: | | |
sudo apt-get update | |
sudo bash scripts/install_ubuntu_dependencies.sh | |
- name: cargo machete | |
run: | | |
cargo install cargo-machete | |
cargo machete | |
build: | |
name: check nightly | |
runs-on: [ self-hosted, ubuntu-high-cpu ] | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: toolchain | |
uses: dtolnay/rust-toolchain@nightly | |
with: | |
toolchain: ${{ env.nightly_toolchain }} | |
- name: ubuntu dependencies | |
run: | | |
sudo apt-get update | |
sudo bash scripts/install_ubuntu_dependencies.sh | |
- uses: rui314/setup-mold@v1 | |
- name: wasm target install | |
run: rustup target add wasm32-unknown-unknown | |
- name: cargo check | |
run: cargo check --release --all-features --all-targets --locked | |
build-stable: | |
name: check stable | |
runs-on: [ self-hosted, ubuntu-high-cpu ] | |
env: | |
RUSTUP_PERMIT_COPY_RENAME: true | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: toolchain | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: stable | |
- uses: Swatinem/rust-cache@v2 | |
- name: ubuntu dependencies | |
run: | | |
sudo apt-get update | |
sudo bash scripts/install_ubuntu_dependencies.sh | |
- uses: rui314/setup-mold@v1 | |
- name: wasm target install | |
run: rustup target add wasm32-unknown-unknown | |
- name: rustup show | |
run: | | |
rustup show | |
- name: cargo check | |
run: cargo check --release --all-targets --locked | |
licenses: | |
name: file licenses | |
runs-on: [ ubuntu-latest ] | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: install ripgrep | |
# https://github.com/BurntSushi/ripgrep/releases | |
env: | |
ripgrep_version: 14.1.0 | |
run: | | |
#wget https://github.com/BurntSushi/ripgrep/releases/download/14.1.0/ripgrep_14.1.0-1_amd64.deb.sha256 | |
wget https://github.com/BurntSushi/ripgrep/releases/download/${{ env.ripgrep_version }}/ripgrep_${{ env.ripgrep_version }}-1_amd64.deb | |
sudo dpkg -i ripgrep_${{ env.ripgrep_version }}-1_amd64.deb | |
rg --version || exit 1 | |
- name: run the license check | |
run: ./scripts/file_license_check.sh | |
test: | |
name: test | |
runs-on: [ self-hosted, ubuntu-high-cpu ] | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: toolchain | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: ${{ env.stable_toolchain }} | |
- name: ubuntu dependencies | |
run: | | |
sudo apt-get update | |
sudo bash scripts/install_ubuntu_dependencies.sh | |
- uses: rui314/setup-mold@v1 | |
- name: wasm target install | |
run: rustup target add wasm32-unknown-unknown | |
- name: Install cargo-nextest | |
run: cargo install cargo-nextest --locked | |
- name: cargo test compile | |
run: cargo test --no-run --locked --all-features --release | |
- name: cargo test | |
run: cargo nextest run --all-features --release -E "not package(integration_tests)" --profile ci | |
- name: upload artifact | |
uses: actions/upload-artifact@v4 # upload test results as artifact | |
if: success() || failure() | |
with: | |
name: test-results | |
path: ${{ github.workspace }}/target/nextest/ci/junit.xml | |
- name: cargo test cucumber | |
run: cargo test --release --package integration_tests --test cucumber -- --tags "not @ignore and not @flaky" | |
- name: upload test result artifact | |
uses: actions/upload-artifact@v4 # upload test results as artifact | |
if: success() || failure() | |
with: | |
name: cucumber-test-results | |
path: ${{ github.workspace }}/integration_tests/cucumber-output-junit.xml | |
- name: Upload cucumber log artifacts | |
uses: actions/upload-artifact@v4 | |
if: success() || failure() | |
with: | |
name: cucumber-log-artifacts | |
path: ${{ github.workspace }}/integration_tests/tests/temp/cucumber_*/*.log | |
# needed for test results | |
event_file: | |
runs-on: [ ubuntu-latest ] | |
steps: | |
- name: Upload | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Event File | |
path: ${{ github.event_path }} |