Skip to content

Conversation

@Ferret-san
Copy link
Collaborator

Overview

updates the main branch to a v3.7.4 compatible release.

NOTE: v3.7.3 is skipped as it was not a required upgrade

eljobe and others added 30 commits July 30, 2025 11:02
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
…_calldata

Blob prices should not be used if parent chain doesn't return blob price
eljobe and others added 29 commits August 18, 2025 21:55
…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…
…ize-multigas-3.7.0-backport

Improve CPU performance when processing blocks
Also removed deprecated v42-rc.1 since no one should ever use it
…ckport

backport adding consensus v41 to Dockerfile
…3596)

* Test Genesis assertion on nitro init

* revert go.mod changes
(cherry picked from commit 6f3d900)
…firm_backport

Make sure to retry fast confirmation on failure
…port

stylus target: infer support of previous sse versions from more advanced ones
The tests which use the releases package were failing because we have had more than 50 non-prerelease releases since the last consensus release, and it was only fetching the first 50 pages from the GitHub API.
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

To resolve the issue, you need to add a permissions: block specifying the minimal required permissions for this workflow. The permissions block can be added at the root level (just after name: and before on:) to apply to all jobs, or at the job level if specific jobs need different permissions. Based on the provided workflow, most steps only need read access to contents, while the step uploading coverage with codecov/codecov-action sometimes requires only contents: read, but you can check the documentation to confirm if it needs additional permissions (it rarely does). The best fix here is to set permissions: contents: read at the root of the workflow so it's inherited by all jobs. Place the block after name: Go.


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.