[storage/adb/current] adb::ordered::current (provides exclusion proof support) #5135
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: Slow | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
merge_group: | |
permissions: | |
contents: read | |
concurrency: | |
group: tests-slow-${{ github.head_ref || github.ref_name || github.run_id }} | |
cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
env: | |
CARGO_TERM_COLOR: always | |
FUZZ_VERSION: 0.12.0 | |
NIGHTLY_VERSION: nightly | |
jobs: | |
Tests: | |
name: "Tests (os: ${{ matrix.os }}, flags: \"${{ matrix.flags }}\") (partition: ${{ matrix.partition }}/4)" | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 180 | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
partition: [1, 2, 3, 4] | |
flags: | |
- "--features commonware-runtime/iouring-storage" | |
- "--features commonware-runtime/iouring-network" | |
- "--no-default-features" | |
- "" | |
exclude: | |
# Only run io_uring features on Ubuntu | |
- os: windows-latest | |
flags: "--features commonware-runtime/iouring-storage" | |
- os: macos-latest | |
flags: "--features commonware-runtime/iouring-storage" | |
- os: windows-latest | |
flags: "--features commonware-runtime/iouring-network" | |
- os: macos-latest | |
flags: "--features commonware-runtime/iouring-network" | |
# Only run --no-default-features on Ubuntu | |
- os: windows-latest | |
flags: "--no-default-features" | |
- os: macos-latest | |
flags: "--no-default-features" | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4 | |
- name: Run setup | |
uses: ./.github/actions/setup | |
- name: Install just & nextest | |
uses: taiki-e/install-action@0c5db7f7f897c03b771660e91d065338615679f4 # v2.60.0 | |
with: | |
tool: [email protected],[email protected] | |
- name: Run ignored tests | |
run: just test ${{ matrix.flags }} --partition hash:${{matrix.partition}}/4 --verbose -- --ignored | |
Tests-Gate: | |
name: "Slow-Tests" | |
runs-on: ubuntu-latest | |
needs: Tests | |
if: always() | |
steps: | |
- name: Check test results | |
run: | | |
if [ "${{ needs.Tests.result }}" != "success" ]; then | |
echo "Tests failed or were cancelled" | |
exit 1 | |
fi | |
echo "All tests passed successfully!" | |
Benchmarks: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
include: | |
- package: commonware-cryptography | |
cargo_flags: "" | |
- package: commonware-storage | |
cargo_flags: "" | |
- package: commonware-storage | |
cargo_flags: "--features commonware-runtime/iouring-storage" # Additional features can be added here | |
- package: commonware-coding | |
cargo_flags: "" | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4 | |
- name: Install nightly Rust toolchain | |
run: rustup toolchain install ${{ env.NIGHTLY_VERSION }} | |
- name: Run setup | |
uses: ./.github/actions/setup | |
- name: Install just | |
uses: taiki-e/install-action@0c5db7f7f897c03b771660e91d065338615679f4 # v2.60.0 | |
with: | |
tool: [email protected] | |
- name: Test benchmarks | |
run: just test-benches ${{ matrix.package }} ${{ matrix.cargo_flags }} | |
Fuzz: | |
runs-on: ubuntu-latest | |
timeout-minutes: 180 | |
strategy: | |
matrix: | |
fuzz_dir: [broadcast/fuzz, codec/fuzz, coding/fuzz, collector/fuzz, cryptography/fuzz, runtime/fuzz, storage/fuzz, stream/fuzz, utils/fuzz] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4 | |
- name: Install nightly Rust toolchain | |
run: rustup toolchain install ${{ env.NIGHTLY_VERSION }} | |
- name: Get Rust version | |
id: rust-version | |
run: echo "rust_version=$(rustc +${{ env.NIGHTLY_VERSION }} --version)" >> "$GITHUB_OUTPUT" | |
- name: Run setup | |
uses: ./.github/actions/setup | |
- name: Cache cargo-fuzz | |
id: cargo-fuzz-cache | |
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 | |
with: | |
path: ~/.cargo/bin/cargo-fuzz | |
key: ${{ runner.os }}-${{ env.FUZZ_VERSION }}-cargo-fuzz-${{ steps.rust-version.outputs.rust_version }} | |
- name: Install cargo-fuzz | |
if: steps.cargo-fuzz-cache.outputs.cache-hit != 'true' | |
run: cargo +${{ env.NIGHTLY_VERSION }} install cargo-fuzz --version ${{ env.FUZZ_VERSION }} | |
- name: Install just | |
uses: taiki-e/install-action@0c5db7f7f897c03b771660e91d065338615679f4 # v2.60.0 | |
with: | |
tool: [email protected] | |
- name: Test all targets | |
run: just fuzz ${{ matrix.fuzz_dir }} 60 +${{ env.NIGHTLY_VERSION }} |