From ee61025b36afc2a8f29476864176f5472aab2961 Mon Sep 17 00:00:00 2001 From: unnawut Date: Thu, 26 Mar 2026 16:13:13 +0700 Subject: [PATCH 1/2] add keygen-benchmark CI job --- .github/workflows/ci.yml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f62d28f9..823c5e92 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -90,6 +90,38 @@ jobs: - name: Fill test fixtures run: uv run fill --fork=Devnet --clean -n auto + keygen-benchmark: + name: Keygen benchmark - ${{ matrix.scheme }} scheme + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + scheme: [test, prod] + steps: + - name: Checkout leanSpec + uses: actions/checkout@v4 + + - name: Set up Python 3.14 + uses: actions/setup-python@v5 + with: + python-version: "3.14" + + - name: Install uv + uses: astral-sh/setup-uv@v4 + with: + enable-cache: true + cache-dependency-glob: "pyproject.toml" + + - name: Sync dependencies + run: uv sync --no-progress + + - name: Generate 1 key (${{ matrix.scheme }} scheme) + run: | + time uv run python -m consensus_testing.keys \ + --scheme ${{ matrix.scheme }} \ + --count 1 \ + --max-slot 100 + interop-tests: name: Interop tests - Multi-node consensus runs-on: ubuntu-latest From 8ee0f633b23aa68998e087431f14a54d2de882b9 Mon Sep 17 00:00:00 2001 From: unnawut Date: Thu, 26 Mar 2026 16:17:17 +0700 Subject: [PATCH 2/2] make keygen-benchmark runs last --- .github/workflows/ci.yml | 61 ++++++++++++++++++++-------------------- 1 file changed, 31 insertions(+), 30 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 823c5e92..c146e35a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -90,21 +90,18 @@ jobs: - name: Fill test fixtures run: uv run fill --fork=Devnet --clean -n auto - keygen-benchmark: - name: Keygen benchmark - ${{ matrix.scheme }} scheme + interop-tests: + name: Interop tests - Multi-node consensus runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - scheme: [test, prod] + timeout-minutes: 10 steps: - name: Checkout leanSpec uses: actions/checkout@v4 - - name: Set up Python 3.14 + - name: Set up Python 3.12 uses: actions/setup-python@v5 with: - python-version: "3.14" + python-version: "3.12" - name: Install uv uses: astral-sh/setup-uv@v4 @@ -112,28 +109,33 @@ jobs: enable-cache: true cache-dependency-glob: "pyproject.toml" - - name: Sync dependencies - run: uv sync --no-progress - - - name: Generate 1 key (${{ matrix.scheme }} scheme) + - name: Run interop tests run: | - time uv run python -m consensus_testing.keys \ - --scheme ${{ matrix.scheme }} \ - --count 1 \ - --max-slot 100 + uv run pytest tests/interop/ \ + -v \ + --timeout=120 \ + -x \ + --tb=short \ + --log-cli-level=INFO + env: + LEAN_ENV: test - interop-tests: - name: Interop tests - Multi-node consensus + keygen-benchmark: + name: Keygen benchmark - ${{ matrix.scheme }} scheme + needs: [lint, test, fill-tests, interop-tests] runs-on: ubuntu-latest - timeout-minutes: 10 + strategy: + fail-fast: false + matrix: + scheme: [test, prod] steps: - name: Checkout leanSpec uses: actions/checkout@v4 - - name: Set up Python 3.12 + - name: Set up Python 3.14 uses: actions/setup-python@v5 with: - python-version: "3.12" + python-version: "3.14" - name: Install uv uses: astral-sh/setup-uv@v4 @@ -141,13 +143,12 @@ jobs: enable-cache: true cache-dependency-glob: "pyproject.toml" - - name: Run interop tests + - name: Sync dependencies + run: uv sync --no-progress + + - name: Generate 1 key (${{ matrix.scheme }} scheme) run: | - uv run pytest tests/interop/ \ - -v \ - --timeout=120 \ - -x \ - --tb=short \ - --log-cli-level=INFO - env: - LEAN_ENV: test + time uv run python -m consensus_testing.keys \ + --scheme ${{ matrix.scheme }} \ + --count 1 \ + --max-slot 100