Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
d270ba0
ci: bump kurtosis-pos pin and Actions versions in kurtosis workflows …
kamuikatsurgi Aug 25, 2026
2ea9635
core, miner: fix pipeline race test failures (#2371)
pratikspatil024 Aug 25, 2026
43130b5
tests/bor: harden test peering against simultaneous-connect collision…
pratikspatil024 Aug 25, 2026
aba1df7
ci: add pipeline-enabled kurtosis e2e leg (POS-3697) (#2368)
pratikspatil024 Aug 25, 2026
2bb03f2
Removing support to publish images on dockerhub (#2372)
0xsajal Aug 27, 2026
3e1101a
ci: bump kurtosis-pos pin to v1.4.2 (#2377)
marcello33 Aug 27, 2026
3f8eaaf
consensus/bor, eth, miner, internal/cli: add sequence store publisher…
cffls Aug 10, 2026
be1f617
eth/sequencer, miner, eth: cover the consumer path, decompose oversiz…
cffls Aug 13, 2026
dff3867
eth/sequencer: drop an ineffectual assignment the linter flagged
cffls Aug 13, 2026
525f258
eth/sequencer, miner, eth: widen patch coverage over store shapes and…
cffls Aug 14, 2026
7171904
miner, eth/sequencer, internal/cli: address review findings
cffls Aug 21, 2026
96412ea
eth/sequencer, eth: floor the backfill at milestone finality
cffls Aug 24, 2026
6ecbd13
eth/sequencer, miner: cover the partial floor drain and the grace re-…
cffls Aug 24, 2026
1c28849
miner: fix a chainConfig swap race in the adoption floor tests
cffls Aug 24, 2026
4f2727b
consensus, eth, miner: fix sequencer reorg holds, partial adoption, a…
cffls Aug 26, 2026
eff7587
miner: deflake TestStoreOwnedHeightDiscardsTheBuild
cffls Aug 27, 2026
8181bd4
eth/sequencer, miner: consensus-verify foreign store seals, clear ref…
cffls Aug 29, 2026
7e5f884
eth/sequencer: let a takeover seal over a clean store boundary
cffls Aug 31, 2026
0b47aee
eth/sequencer: cap barrier refusals, bound the gate's seal verification
cffls Aug 31, 2026
0aedd6c
eth/sequencer: pass the seal barrier on a verified mid-drain suffix
cffls Sep 1, 2026
ad793b0
eth/sequencer: name the journal-mirror rung
cffls Sep 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions .github/workflows/kurtosis-e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
timeout-minutes: 20
steps:
- name: Checkout bor
uses: actions/checkout@v5
uses: actions/checkout@v7

- name: Build bor docker image
run: docker build -t bor:local --file Dockerfile .
Expand All @@ -31,7 +31,7 @@ jobs:
run: docker save bor:local | gzip > bor-image.tar.gz

- name: Upload bor docker image
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: bor-image
path: bor-image.tar.gz
Expand All @@ -42,7 +42,7 @@ jobs:
timeout-minutes: 20
steps:
- name: Checkout heimdall-v2
uses: actions/checkout@v5
uses: actions/checkout@v7
with:
repository: 0xPolygon/heimdall-v2
ref: develop
Expand All @@ -54,7 +54,7 @@ jobs:
run: docker save heimdall-v2:local | gzip > heimdall-v2-image.tar.gz

- name: Upload heimdall-v2 docker image
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: heimdall-v2-image
path: heimdall-v2-image.tar.gz
Expand All @@ -74,10 +74,10 @@ jobs:
steps:
# Set up kurtosis
- name: Checkout kurtosis-pos
uses: actions/checkout@v5
uses: actions/checkout@v7
with:
repository: 0xPolygon/kurtosis-pos
ref: v1.3.4
ref: v1.4.2

# This step will free disk space and thus remove any docker images previously built
- name: Pre kurtosis run
Expand All @@ -88,7 +88,7 @@ jobs:
docker_token: ${{ secrets.DOCKERHUB_KEY }}

- name: Checkout pos-workflows
uses: actions/checkout@v5
uses: actions/checkout@v7
with:
repository: 0xPolygon/pos-workflows
ref: main
Expand All @@ -99,12 +99,12 @@ jobs:

# Load images
- name: Download bor docker image
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
name: bor-image

- name: Download heimdall-v2 docker image
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
name: heimdall-v2-image

Expand Down Expand Up @@ -142,7 +142,7 @@ jobs:
run: bash kurtosis_smoke_test.sh

- name: Install Go
uses: actions/setup-go@v6
uses: actions/setup-go@v7
with:
go-version: 'stable'

Expand Down
178 changes: 178 additions & 0 deletions .github/workflows/kurtosis-pipeline-e2e.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,178 @@
name: Kurtosis Pipeline E2E Tests

# Runs the stateless-sync topology with `pipeline.enable-import-src = true`
# injected into every bor node's config template (POS-3697). The flag ships
# default-off, so without this leg no CI job exercises the pipelined import
# path on a real network. Adds a released-image baseline validator that
# ignores the injected section — a pipeline-off cross-check on every block.

on:
push:
branches:
- 'master'
- 'develop'
pull_request:
types: [opened, synchronize]

concurrency:
group: kurtosis-pipeline-e2e-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

env:
ENCLAVE_NAME: kurtosis-pipeline-e2e
POLYCLI_VERSION: v0.1.103

jobs:
build-bor:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checkout bor
uses: actions/checkout@v5

- name: Build bor docker image
run: docker build -t bor:local --file Dockerfile .

- name: Save bor docker image
run: docker save bor:local | gzip > bor-image.tar.gz

- name: Upload bor docker image
uses: actions/upload-artifact@v4
with:
name: pipeline-bor-image
path: bor-image.tar.gz
retention-days: 1

build-heimdall-v2:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checkout heimdall-v2
uses: actions/checkout@v5
with:
repository: 0xPolygon/heimdall-v2
ref: develop

- name: Build heimdall-v2 docker image
run: docker build -t heimdall-v2:local --file Dockerfile .

- name: Save heimdall-v2 docker image
run: docker save heimdall-v2:local | gzip > heimdall-v2-image.tar.gz

- name: Upload heimdall-v2 docker image
uses: actions/upload-artifact@v4
with:
name: pipeline-heimdall-v2-image
path: heimdall-v2-image.tar.gz
retention-days: 1

pipeline-e2e-tests:
needs:
- build-bor
- build-heimdall-v2
runs-on: ubuntu-latest
timeout-minutes: 45
# These permissions are required to log in to GCR
permissions:
contents: read
actions: write
id-token: write
steps:
# Set up kurtosis
- name: Checkout kurtosis-pos
uses: actions/checkout@v5
with:
repository: 0xPolygon/kurtosis-pos
ref: v1.4.2

# The whole point of this leg: every bor node gets the pipeline flag.
# bor:local nodes enable pipelined import (stateless-sync nodes
# self-gate it off); the released-image baseline ignores the unknown
# section and stays pipeline-off.
- name: Enable pipelined import in the bor config template
run: |
printf '\n[pipeline]\n enable-import-src = true\n import-src-logs = true\n' >> static_files/el/bor/config.toml
tail -4 static_files/el/bor/config.toml

# This step will free disk space and thus remove any docker images previously built
- name: Pre kurtosis run
uses: ./.github/actions/kurtosis/setup
with:
main_branch: develop
docker_username: ${{ secrets.DOCKERHUB }}
docker_token: ${{ secrets.DOCKERHUB_KEY }}

- name: Checkout pos-workflows
uses: actions/checkout@v5
with:
repository: 0xPolygon/pos-workflows
ref: main
path: pos-workflows

- name: Copy kurtosis config
run: cp ./pos-workflows/configs/kurtosis-pipeline-e2e.yml ./kurtosis-pipeline-e2e.yml

# Load images
- name: Download bor docker image
uses: actions/download-artifact@v4
with:
name: pipeline-bor-image

- name: Download heimdall-v2 docker image
uses: actions/download-artifact@v4
with:
name: pipeline-heimdall-v2-image

- name: Load bor docker image
run: |
gunzip -c bor-image.tar.gz | docker load
echo "Loaded bor docker image:"
docker images bor:local --format "{{.ID}} {{.CreatedAt}}"

- name: Load heimdall-v2 docker image
run: |
gunzip -c heimdall-v2-image.tar.gz | docker load
echo "Loaded heimdall-v2 docker image:"
docker images heimdall-v2:local --format "{{.ID}} {{.CreatedAt}}"

# Deploy kurtosis enclave
- name: Kurtosis run
run: kurtosis run --args-file=kurtosis-pipeline-e2e.yml --enclave ${{ env.ENCLAVE_NAME }} .

- name: Inspect enclave
run: kurtosis enclave inspect ${{ env.ENCLAVE_NAME }}

# Run e2e tests
- name: Install polycli
run: |
tmp_dir=$(mktemp -d)
curl -L https://github.com/0xPolygon/polygon-cli/releases/download/${{ env.POLYCLI_VERSION }}/polycli_${{ env.POLYCLI_VERSION }}_linux_amd64.tar.gz | tar -xz -C "$tmp_dir"
mv "$tmp_dir"/* /usr/local/bin/polycli
rm -rf "$tmp_dir"
sudo chmod +x /usr/local/bin/polycli
polycli version

- name: Run stateless e2e tests (pipelined producers)
id: stateless-tests
working-directory: pos-workflows/tests/stateless_tests
run: bash kurtosis_stateless_test.sh

- name: Run pipeline checks
id: pipeline-checks
working-directory: pos-workflows/tests/pipeline_tests
run: bash kurtosis_pipeline_test.sh

# Collect diagnostics on failure
- name: Collect network diagnostics and state dump
if: always() && (steps.stateless-tests.outcome == 'failure' || steps.pipeline-checks.outcome == 'failure')
uses: ./pos-workflows/.github/actions/network-diagnostics-and-state-dump
with:
enclave_name: ${{ env.ENCLAVE_NAME }}

# Clean up
- name: Post kurtosis run
if: always()
uses: ./.github/actions/kurtosis/cleanup
with:
main_branch: develop
enclave_name: ${{ env.ENCLAVE_NAME }}
18 changes: 9 additions & 9 deletions .github/workflows/kurtosis-stateless-e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
timeout-minutes: 20
steps:
- name: Checkout bor
uses: actions/checkout@v5
uses: actions/checkout@v7

- name: Build bor docker image
run: docker build -t bor:local --file Dockerfile .
Expand All @@ -31,7 +31,7 @@ jobs:
run: docker save bor:local | gzip > bor-image.tar.gz

- name: Upload bor docker image
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: bor-image
path: bor-image.tar.gz
Expand All @@ -42,7 +42,7 @@ jobs:
timeout-minutes: 20
steps:
- name: Checkout heimdall-v2
uses: actions/checkout@v5
uses: actions/checkout@v7
with:
repository: 0xPolygon/heimdall-v2
ref: develop
Expand All @@ -54,7 +54,7 @@ jobs:
run: docker save heimdall-v2:local | gzip > heimdall-v2-image.tar.gz

- name: Upload heimdall-v2 docker image
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: heimdall-v2-image
path: heimdall-v2-image.tar.gz
Expand All @@ -74,10 +74,10 @@ jobs:
steps:
# Set up kurtosis
- name: Checkout kurtosis-pos
uses: actions/checkout@v5
uses: actions/checkout@v7
with:
repository: 0xPolygon/kurtosis-pos
ref: v1.3.4
ref: v1.4.2

# This step will free disk space and thus remove any docker images previously built
- name: Pre kurtosis run
Expand All @@ -88,7 +88,7 @@ jobs:
docker_token: ${{ secrets.DOCKERHUB_KEY }}

- name: Checkout pos-workflows
uses: actions/checkout@v5
uses: actions/checkout@v7
with:
repository: 0xPolygon/pos-workflows
ref: main
Expand All @@ -99,12 +99,12 @@ jobs:

# Load images
- name: Download bor docker image
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
name: bor-image

- name: Download heimdall-v2 docker image
uses: actions/download-artifact@v4
uses: actions/download-artifact@v8
with:
name: heimdall-v2-image

Expand Down
47 changes: 0 additions & 47 deletions .github/workflows/release.yml

This file was deleted.

Loading
Loading