mirror of
https://github.com/logos-blockchain/logos-execution-zone.git
synced 2026-05-28 10:59:26 +00:00
Merge ac2d01e1b416a9c2a4a24513d15ae584bbbebc3f into 7546e22cf6429fcc5f8b1825d79cd36005a3e062
This commit is contained in:
commit
b2ed57beb9
100
.github/workflows/ci.yml
vendored
100
.github/workflows/ci.yml
vendored
@ -94,6 +94,12 @@ jobs:
|
|||||||
- name: Install active toolchain
|
- name: Install active toolchain
|
||||||
run: rustup install
|
run: rustup install
|
||||||
|
|
||||||
|
- name: Restore Rust cache
|
||||||
|
uses: Swatinem/rust-cache@v2
|
||||||
|
with:
|
||||||
|
shared-key: ci-rust-cache
|
||||||
|
save-if: ${{ github.ref == 'refs/heads/main' }}
|
||||||
|
|
||||||
- name: Lint workspace
|
- name: Lint workspace
|
||||||
env:
|
env:
|
||||||
RISC0_SKIP_BUILD: "1"
|
RISC0_SKIP_BUILD: "1"
|
||||||
@ -123,6 +129,12 @@ jobs:
|
|||||||
- name: Install active toolchain
|
- name: Install active toolchain
|
||||||
run: rustup install
|
run: rustup install
|
||||||
|
|
||||||
|
- name: Restore Rust cache
|
||||||
|
uses: Swatinem/rust-cache@v2
|
||||||
|
with:
|
||||||
|
shared-key: ci-rust-cache
|
||||||
|
save-if: ${{ github.ref == 'refs/heads/main' }}
|
||||||
|
|
||||||
- name: Install nextest
|
- name: Install nextest
|
||||||
run: cargo install --locked cargo-nextest
|
run: cargo install --locked cargo-nextest
|
||||||
|
|
||||||
@ -132,9 +144,10 @@ jobs:
|
|||||||
RUST_LOG: "info"
|
RUST_LOG: "info"
|
||||||
run: cargo nextest run --workspace --exclude integration_tests --all-features
|
run: cargo nextest run --workspace --exclude integration_tests --all-features
|
||||||
|
|
||||||
integration-tests:
|
integration-tests-prebuild:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 90 # TODO: Apply CI cache to speed this up
|
outputs:
|
||||||
|
targets: ${{ steps.discover-targets.outputs.targets }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v5
|
||||||
with:
|
with:
|
||||||
@ -151,6 +164,75 @@ jobs:
|
|||||||
- name: Install active toolchain
|
- name: Install active toolchain
|
||||||
run: rustup install
|
run: rustup install
|
||||||
|
|
||||||
|
- name: Restore Rust cache
|
||||||
|
uses: Swatinem/rust-cache@v2
|
||||||
|
with:
|
||||||
|
shared-key: ci-rust-cache
|
||||||
|
save-if: ${{ github.ref == 'refs/heads/main' }}
|
||||||
|
|
||||||
|
- name: Install nextest
|
||||||
|
run: cargo install --locked cargo-nextest
|
||||||
|
|
||||||
|
- name: Build integration test archive
|
||||||
|
env:
|
||||||
|
RISC0_DEV_MODE: "1"
|
||||||
|
run: cargo nextest archive -p integration_tests --archive-file integration-tests.tar.zst --no-pager
|
||||||
|
|
||||||
|
- name: Upload integration test archive
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: integration-tests-archive
|
||||||
|
path: integration-tests.tar.zst
|
||||||
|
|
||||||
|
- name: Discover integration test targets from archive
|
||||||
|
id: discover-targets
|
||||||
|
run: |
|
||||||
|
cargo nextest list \
|
||||||
|
--archive-file integration-tests.tar.zst \
|
||||||
|
--list-type binaries-only \
|
||||||
|
--message-format json \
|
||||||
|
--no-pager > integration-tests-binaries.json
|
||||||
|
|
||||||
|
targets_json="$(jq -c '[."rust-binaries" | to_entries[] | select(.value.kind == "test" and .value."binary-name" != "tps") | .value."binary-name"] | sort | unique' integration-tests-binaries.json)"
|
||||||
|
|
||||||
|
if [[ "$targets_json" == "[]" ]]; then
|
||||||
|
echo "No integration test targets were discovered." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "targets=$targets_json" >> "$GITHUB_OUTPUT"
|
||||||
|
echo "Discovered integration targets: $targets_json"
|
||||||
|
|
||||||
|
integration-tests:
|
||||||
|
needs: integration-tests-prebuild
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 90
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
target: ${{ fromJson(needs.integration-tests-prebuild.outputs.targets) }}
|
||||||
|
name: integration-tests (${{ matrix.target }})
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
with:
|
||||||
|
ref: ${{ github.event.pull_request.head.sha || github.head_ref }}
|
||||||
|
|
||||||
|
- uses: ./.github/actions/install-system-deps
|
||||||
|
|
||||||
|
- uses: ./.github/actions/install-risc0
|
||||||
|
|
||||||
|
- uses: ./.github/actions/install-logos-blockchain-circuits
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Install active toolchain
|
||||||
|
run: rustup install
|
||||||
|
|
||||||
|
- name: Download integration test archive
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: integration-tests-archive
|
||||||
|
|
||||||
- name: Install nextest
|
- name: Install nextest
|
||||||
run: cargo install --locked cargo-nextest
|
run: cargo install --locked cargo-nextest
|
||||||
|
|
||||||
@ -158,7 +240,7 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
RISC0_DEV_MODE: "1"
|
RISC0_DEV_MODE: "1"
|
||||||
RUST_LOG: "info"
|
RUST_LOG: "info"
|
||||||
run: cargo nextest run -p integration_tests -- --skip tps_test
|
run: cargo nextest run --archive-file integration-tests.tar.zst -E "binary(${{ matrix.target }})"
|
||||||
|
|
||||||
valid-proof-test:
|
valid-proof-test:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@ -179,6 +261,12 @@ jobs:
|
|||||||
- name: Install active toolchain
|
- name: Install active toolchain
|
||||||
run: rustup install
|
run: rustup install
|
||||||
|
|
||||||
|
- name: Restore Rust cache
|
||||||
|
uses: Swatinem/rust-cache@v2
|
||||||
|
with:
|
||||||
|
shared-key: ci-rust-cache
|
||||||
|
save-if: ${{ github.ref == 'refs/heads/main' }}
|
||||||
|
|
||||||
- name: Test valid proof
|
- name: Test valid proof
|
||||||
env:
|
env:
|
||||||
RUST_LOG: "info"
|
RUST_LOG: "info"
|
||||||
@ -196,6 +284,12 @@ jobs:
|
|||||||
|
|
||||||
- uses: ./.github/actions/install-risc0
|
- uses: ./.github/actions/install-risc0
|
||||||
|
|
||||||
|
- name: Restore Rust cache
|
||||||
|
uses: Swatinem/rust-cache@v2
|
||||||
|
with:
|
||||||
|
shared-key: ci-rust-cache
|
||||||
|
save-if: ${{ github.ref == 'refs/heads/main' }}
|
||||||
|
|
||||||
- name: Install just
|
- name: Install just
|
||||||
run: cargo install --locked just
|
run: cargo install --locked just
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user