feat(sequencer): add direct input L1 provenance to broadcast tx message #385
This file contains hidden or 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: | |
| push: | |
| pull_request: | |
| jobs: | |
| rust: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: Load toolchain pins | |
| uses: ./.github/actions/load-toolchain-pins | |
| - name: Verify toolchain pin alignment | |
| run: bash scripts/verify-toolchain-pins.sh | |
| - name: Install system dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y \ | |
| faketime \ | |
| libfaketime \ | |
| lua5.4 \ | |
| liblua5.4-dev \ | |
| libslirp-dev | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| toolchain: ${{ env.RUST_TOOLCHAIN }} | |
| components: rustfmt, clippy | |
| - name: Cache Rust artifacts | |
| uses: Swatinem/rust-cache@v2 | |
| - name: Install Foundry | |
| uses: foundry-rs/foundry-toolchain@v1 | |
| with: | |
| version: v1.4.3 | |
| - name: Build | |
| run: cargo build --workspace --all-targets --locked | |
| - name: Format | |
| run: cargo fmt --all -- --check | |
| - name: Clippy | |
| run: cargo clippy --workspace --all-targets --all-features --locked -- -D warnings | |
| - name: Watchdog Lua tests | |
| run: lua5.4 watchdog/tests/run.lua | |
| - name: Watchdog divergence drill | |
| run: bash scripts/test-watchdog-divergence-drill.sh | |
| - name: Test | |
| timeout-minutes: 15 | |
| run: cargo test --workspace --all-targets --all-features --locked | |
| canonical-guest: | |
| runs-on: ubuntu-latest | |
| needs: rust | |
| timeout-minutes: 45 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: Load toolchain pins | |
| uses: ./.github/actions/load-toolchain-pins | |
| - name: Setup guest toolchain | |
| uses: ./.github/actions/setup-guest-toolchain | |
| with: | |
| rust-toolchain: ${{ env.RUST_TOOLCHAIN }} | |
| xgenext2fs-version: ${{ env.XGENEXT2FS_VERSION }} | |
| xgenext2fs-sha256-amd64: ${{ env.XGENEXT2FS_SHA256_AMD64 }} | |
| xgenext2fs-sha256-arm64: ${{ env.XGENEXT2FS_SHA256_ARM64 }} | |
| cartesi-machine-version: ${{ env.CARTESI_MACHINE_VERSION }} | |
| cartesi-machine-sha256-amd64: ${{ env.CARTESI_MACHINE_SHA256_AMD64 }} | |
| cartesi-machine-sha256-arm64: ${{ env.CARTESI_MACHINE_SHA256_ARM64 }} | |
| - name: Download canonical app deps | |
| run: just canonical download-deps | |
| - name: Run guest tests | |
| run: just canonical-test-guest | |
| rollups-e2e: | |
| runs-on: ubuntu-latest | |
| needs: rust | |
| timeout-minutes: 60 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: Load toolchain pins | |
| uses: ./.github/actions/load-toolchain-pins | |
| - name: Setup guest toolchain | |
| uses: ./.github/actions/setup-guest-toolchain | |
| with: | |
| rust-toolchain: ${{ env.RUST_TOOLCHAIN }} | |
| xgenext2fs-version: ${{ env.XGENEXT2FS_VERSION }} | |
| xgenext2fs-sha256-amd64: ${{ env.XGENEXT2FS_SHA256_AMD64 }} | |
| xgenext2fs-sha256-arm64: ${{ env.XGENEXT2FS_SHA256_ARM64 }} | |
| cartesi-machine-version: ${{ env.CARTESI_MACHINE_VERSION }} | |
| cartesi-machine-sha256-amd64: ${{ env.CARTESI_MACHINE_SHA256_AMD64 }} | |
| cartesi-machine-sha256-arm64: ${{ env.CARTESI_MACHINE_SHA256_ARM64 }} | |
| install-foundry: "true" | |
| - name: Install faketime | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y faketime libfaketime | |
| - name: Build watchdog Lua deps | |
| run: | | |
| sudo apt-get install -y libcurl4-openssl-dev build-essential pkg-config | |
| just watchdog-lua-deps | |
| - name: Run rollups E2E tests | |
| run: just test-rollups-e2e | |
| # Runs after the e2e step so the canonical machine image is already built; | |
| # exercises the in-process machine_cartesi binding incl. store -> reload -> advance, | |
| # which the Rust harness never loads (its compare passes only load the genesis image). | |
| - name: Watchdog Lua CM e2e | |
| run: just test-watchdog-e2e | |
| watchdog-docker: | |
| name: Watchdog Docker image smoke | |
| runs-on: ubuntu-latest | |
| needs: rust | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: Load toolchain pins | |
| uses: ./.github/actions/load-toolchain-pins | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v4 | |
| - name: Build and smoke-test watchdog image | |
| run: bash scripts/ci-watchdog-docker-smoke.sh |