Skip to content

Conversation

@Ferret-san
Copy link
Collaborator

Overview

Updates main branch of the fork to a v3.7.0 compatible release

tsahee and others added 30 commits July 29, 2025 18:58
…e-geth

Expanding support for multi-dimensional gas
fixes NIT-3634
pulls in OffchainLabs/go-ethereum#500

refunding gas held to limit eth_call execution was happening after peakGas calculation which can cause unexpected values
…-message-accuracy

fix: improve error message accuracy in CorrespondingL1BlockNumber
Use new golangci-lint fmt and fix solidity formatter
Try NOT running the nitro CodeQL build in parallel
…tylus-tests

Increase EVM Call timeout to avoid flaky CI
eljobe and others added 29 commits August 18, 2025 16:45
…al-update

Improve description of trivial contributions
This allows the merge queue to run the right CI steps before merging.

Part of: NIT-3067
Without this, the submodule pin check won't be run.
…lstate-not-in-chain-should-be-a-fatal-error-for

GlobalState not in chain should be a fatal error when requesting a confirmed assertion
…r-config-validation

Basic seq-coordinator config validation
…3509)

Co-authored-by: Pepper Lebeck-Jobe <pepper@offchainlabs.com>
There was a bug where if a duplicate message was processed at a segment
boundary, then it would cause an empty segment to be inserted, which
broke the invariants of the backlog data structure.

The invariants being violated wer:
1. Monotonic sequence number order
2. Segment Continuity: segment[n].End() + 1 == segment[n+1].Start()
3. Non-empty Segments: All segments should contain messages
4. Lookup Uniqueness: Each sequence number maps to exactly one segment
5. Cumulative Size Ordering: Later messages have higher cumulative sizes

This bug would break most operations on the backlog (eg Get() which uses
a binary search) and cause them to have unpredictable behavior.
…lstate-not-in-chain-should-be-a-fatal-error-for

Return a fatal error instead of stopping the StopWaiter in case of Er…
Comment on lines +25 to +70
name: Build and Test Bold
runs-on: ubuntu-latest
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v5
with:
submodules: true

- name: Setup node/yarn
uses: actions/setup-node@v4
with:
node-version: '24'
cache: 'yarn'
cache-dependency-path: "**/yarn.lock"

- name: Install go
uses: actions/setup-go@v5
with:
go-version: 1.24.x

- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
cache: false
version: v1.0.0

- name: AbiGen (nitro)
run: make contracts

- name: Get dependencies
working-directory: ./bold
run: |
go get -v -t -d ./...
- name: Build
working-directory: ./bold
run: go build -v ./...

- name: Test
working-directory: ./bold
run: ANVIL=$(which anvil) go test -v -covermode=atomic -coverprofile=coverage.out -timeout=20m ./...

- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v5
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}

Copilot Autofix

AI about 2 months ago

The best way to fix the problem is to explicitly add a permissions block to the workflow. Since the shown workflow contains only one active job, you can add permissions either at the root level (recommended and most concise), so it applies to all jobs, or inside the specific job (build). For this case, adding permissions: contents: read at the workflow root (just after name: or just before/after on:) adheres to least privilege, covers all jobs (including possible future ones), and is standard practice.

Steps:

  • Edit .github/workflows/bold.yml.
  • Add the following block after the name: Go line, and before or after on: (standard is after name:).
  • No import statements or method definitions needed, just a YAML change.

Suggested changeset 1
.github/workflows/bold.yml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/bold.yml b/.github/workflows/bold.yml
--- a/.github/workflows/bold.yml
+++ b/.github/workflows/bold.yml
@@ -1,4 +1,6 @@
 name: Go
+permissions:
+  contents: read
 
 on:
   workflow_dispatch:
EOF
@@ -1,4 +1,6 @@
name: Go
permissions:
contents: read

on:
workflow_dispatch:
Copilot is powered by AI and may make mistakes. Always verify output.
go-version: 1.24.x

- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium

Unpinned 3rd party Action 'Go' step
Uses Step
uses 'foundry-rs/foundry-toolchain' with ref 'v1', not a pinned commit hash
run: ANVIL=$(which anvil) go test -v -covermode=atomic -coverprofile=coverage.out -timeout=20m ./...

- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v5

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium

Unpinned 3rd party Action 'Go' step
Uses Step
uses 'codecov/codecov-action' with ref 'v5', not a pinned commit hash

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v2
uses: codecov/codecov-action@v5

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium

Unpinned 3rd party Action 'Go tests CI' step
Uses Step
uses 'codecov/codecov-action' with ref 'v5', not a pinned commit hash
restore-keys: ${{ runner.os }}-buildx-
- name: Build nitro-node docker
uses: docker/build-push-action@v5
uses: docker/build-push-action@v6

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium

Unpinned 3rd party Action 'Docker build CI' step
Uses Step
uses 'docker/build-push-action' with ref 'v6', not a pinned commit hash
cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max
- name: Build nitro-node-dev docker
uses: docker/build-push-action@v5
uses: docker/build-push-action@v6

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium

Unpinned 3rd party Action 'Docker build CI' step
Uses Step
uses 'docker/build-push-action' with ref 'v6', not a pinned commit hash
with:
go-version: "stable"
- id: list
uses: shogo82148/actions-go-fuzz/list@v1

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium

Unpinned 3rd party Action 'fuzz' step
Uses Step: list
uses 'shogo82148/actions-go-fuzz/list' with ref 'v1', not a pinned commit hash
- uses: actions/setup-go@v5
with:
go-version: "stable"
- uses: shogo82148/actions-go-fuzz/run@v1

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium

Unpinned 3rd party Action 'fuzz' step
Uses Step
uses 'shogo82148/actions-go-fuzz/run' with ref 'v1', not a pinned commit hash

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v2
uses: codecov/codecov-action@v5

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium

Unpinned 3rd party Action 'Nightly CI' step
Uses Step
uses 'codecov/codecov-action' with ref 'v5', not a pinned commit hash
- name: Upload coverage to Codecov
if: steps.changed-files.outputs.any_changed == 'true'
uses: codecov/codecov-action@v2
uses: codecov/codecov-action@v5

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium

Unpinned 3rd party Action 'Nightly CI' step
Uses Step
uses 'codecov/codecov-action' with ref 'v5', not a pinned commit hash
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.