Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion .github/actions/build/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ runs:
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '20'
node-version: '22'

- name: use proof_systems_commit if provided
if: ${{ inputs.proof_systems_commit != '' }}
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/live-tests-shared/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ runs:
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '20'
node-version: '22'
- name: Build o1js and execute tests
env:
USE_CUSTOM_LOCAL_NETWORK: 'true'
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ jobs:
Lint-Format-and-TypoCheck:
strategy:
matrix:
node: [20]
node: [22]
if: github.event.pull_request.labels.*.name != 'skip-lint'
runs-on: ubuntu-latest

Expand Down Expand Up @@ -257,6 +257,10 @@ jobs:
cache_id: ${{ secrets.NIX_CACHE_GCP_ID }}
nar_secret: ${{ secrets.NIX_CACHE_NAR_SECRET }}
gcp_secret: ${{ secrets.NIX_CACHE_GCP_SECRET }}
- name: Setup Node.JS ${{ matrix.node }}
uses: actions/setup-node@v4
with:
node-version: 22
- name: Count tests
id: count_tests
run: |
Expand Down Expand Up @@ -329,7 +333,7 @@ jobs:
- name: Setup Node.JS ${{ matrix.node }}
uses: actions/setup-node@v4
with:
node-version: 20
node-version: 22
# TODO matrixing this requires changing branch protection rules

- name: Restore npm cache
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/push_main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
Build-Doc:
strategy:
matrix:
node: [20]
node: [22]
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
steps:
Expand Down Expand Up @@ -74,7 +74,7 @@ jobs:
Pkg-pr-new:
strategy:
matrix:
node: [20]
node: [22]

runs-on: [ubuntu-latest]
steps:
Expand Down Expand Up @@ -118,7 +118,7 @@ jobs:
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '20'
node-version: '22'

- name: Build o1js
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
node-version: '22'

- name: Configure Git
run: |
Expand Down
1 change: 0 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ This project adheres to

### Added


### Changed

- Updated Rust nightly version from `2024-06-13` to `2024-09-05` to match the
Expand Down
94 changes: 94 additions & 0 deletions bisect-mina-by-prs.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
#!/usr/bin/env bash

set -e

advance_prs(){
count=${1:-1}

# Navigate to mina submodule
pushd src/mina

# Get current commit
current_commit=$(git rev-parse HEAD)

# Get all merge commits that contain "Merge pull request" in chronological order
commit=$(git log --oneline --grep="Merge pull request" compatible --reverse \
| sed '1,/'"$(git rev-parse --short HEAD)"'/d' \
| sed -n "$count"'{p;q}' \
| cut -d' ' -f1
)

# Get the commit message for informative output
commit_msg=$(git log --oneline -1 $commit)

echo "Updating mina submodule to next PR: $commit_msg"

# Checkout the next merge commit
git checkout $commit
git reset --hard --recurse-submodules

# Go back to parent repo and update submodule reference
popd
}

rebuild(){
git clean -fdx && \
nix run .\#generate-bindings --refresh --no-eval-cache && \
nix develop --refresh --no-eval-cache --command npm ci && \
nix develop --command npm run build
}

run_test(){
nix develop --refresh --no-eval-cache --command \
npm run test
# Replace with any test that fails
}


reset_mina(){
prev=$(git rev-parse HEAD)
sub_sha=$(git ls-tree $prev src/mina | awk '{print $3}')
git -C src/mina checkout $sub_sha
git -C src/mina reset --hard --recurse-submodules

}

check_num_prs(){
reset_mina
advance_prs "$1"
rebuild && run_test
}

reset_mina
num_prs=$( \
git -C src/mina log --oneline --grep="Merge pull request" compatible --reverse \
| sed '1,/'"$(git -C src/mina rev-parse --short HEAD)"'/d' \
| wc -l)

echo $num_prs

low=0
high=$num_prs

while (( low < high -1 )); do
mid=$(( (low + high + 1) / 2 ))
echo Fails $high Passes $low TESTING $mid
if check_num_prs $mid
then
echo "$(git -C src/mina rev-parse HEAD) - Works" >> /tmp/o1js-builds.log
low=$(( mid ))
else
high=$(( mid ))
echo "$(git -C src/mina rev-parse HEAD) - Fails" >> /tmp/o1js-builds.log
fi
done

reset_mina
advance_prs $low
works=$(git -C src/mina rev-parse HEAD)
reset_mina
advance_prs $high
breaks=$(git -C src/mina rev-parse HEAD)
echo Works at $works
echo Broken at $breaks
echo Broken by $(git -C src/mina log --oneline -1 $breaks)
Loading
Loading