Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
4844145
chore: v4 release config
alexghr Feb 18, 2026
6414d9b
chore: Accumulated backports to v4 (#20634)
AztecBot Feb 18, 2026
b87c8ae
chore: Accumulated backports to v4 (#20668)
AztecBot Feb 19, 2026
bb844d4
feat: avoid redundant serial zeroing in polynomial allocation (#20670)
ludamad Feb 19, 2026
bf3191c
feat: reduced hashing (#20676)
Thunkar Feb 19, 2026
715cb89
chore: Accumulated backports to v4 (#20691)
ludamad Feb 20, 2026
43caf7c
chore: Accumulated backports to v4 (#20713)
AztecBot Feb 20, 2026
fdd0d0d
chore: Accumulated backports to v4 (#20752)
AztecBot Feb 25, 2026
d3638f7
fix!: Bump l2 gas per note hash (#20862)
sirasistant Feb 25, 2026
4d653dd
chore!: update vks
sirasistant Feb 25, 2026
8e3f5db
chore: Backport gas change to v4 (#20891)
just-mitch Feb 26, 2026
83ea202
chore: Accumulated backports to v4 (#20868)
AztecBot Feb 26, 2026
6702e6c
feat: alpha payload
LHerskind Feb 26, 2026
7a09c3c
feat: alpha payload (#20865)
just-mitch Feb 26, 2026
f3f5438
chore: Accumulated backports to v4 (#20906)
AztecBot Feb 26, 2026
0cec03b
chore(v4): release 4.0.1 (#20633)
AztecBot Feb 27, 2026
1fa71ae
chore: Accumulated backports to v4 (#20923)
AztecBot Feb 27, 2026
0ed0a06
fix: handle scientific notation in bigintConfigHelper (#20929)
ludamad Feb 27, 2026
fb47a65
chore(v4): release 4.0.2 (#20933)
AztecBot Feb 27, 2026
ed3f61d
feat(aztec): node enters standby mode on genesis root mismatch (#20937)
aminsammara Feb 27, 2026
72cd6d8
chore(v4): release 4.0.3 (#20943)
AztecBot Feb 27, 2026
3cdca29
chore: Accumulated backports to v4 (#20948)
AztecBot Feb 27, 2026
2830015
chore(v4): release 4.0.4 (#20964)
AztecBot Feb 27, 2026
6d9f3ba
chore: Accumulated backports to v4 (#20976)
AztecBot Feb 27, 2026
ab46e29
chore: pin protocol circuits so they can't change
ludamad Feb 27, 2026
67a908d
fix(aztec-nr): account for AES PKCS#7 padding in message plaintext le…
nchamo Feb 27, 2026
36b95fa
feat: remove epk sign from message payload (#20926)
nventuro Feb 27, 2026
eb9bc44
chore: increase mainnet local ejection threshold to 190k (#20884)
aminsammara Feb 27, 2026
db55862
feat: add pinned-build support for protocol contracts in noir-contracts
AztecBot Feb 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
27 changes: 27 additions & 0 deletions .github/release-please-v4.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
"release-type": "simple",
"bump-minor-pre-major": true,
"bump-patch-for-minor-pre-major": true,
"group-pull-request-title-pattern": "chore(v4): Release ${version}",
"pull-request-header": "Pending Aztec Packages v4 release",
"versioning": "always-bump-patch",
"include-component-in-tag": false,
"release-search-depth": 50,
"commit-search-depth": 150,
"bootstrap-sha": "60d353cded21d7ebeed9bc64b5ae87ebba5f9a38",
"sequential-calls": true,
"changelog-sections": [
{ "type": "feat", "section": "Features", "hidden": false },
{ "type": "fix", "section": "Bug Fixes", "hidden": false },
{ "type": "chore", "section": "Miscellaneous", "hidden": true },
{ "type": "test", "section": "Miscellaneous", "hidden": true },
{ "type": "refactor", "section": "Miscellaneous", "hidden": true },
{ "type": "docs", "section": "Documentation", "hidden": false }
],
"packages": {
".": {
"release-type": "simple"
}
}
}
18 changes: 18 additions & 0 deletions .github/workflows/ci3.yml
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,24 @@ jobs:
PR_BASE_SHA: ${{ github.event.pull_request.base.sha }}
run: ./.github/ci3_success.sh

- name: Notify Slack on backport CI failure
if: failure() && startsWith(github.event.pull_request.head.ref, 'backport-to-') && endsWith(github.event.pull_request.head.ref, '-staging')
env:
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
run: |
if [ -n "${SLACK_BOT_TOKEN}" ]; then
read -r -d '' data <<EOF || true
{
"channel": "#team-alpha",
"text": "CI3 failed on backport PR: <${{ github.event.pull_request.html_url }}|#${{ github.event.pull_request.number }} - ${{ github.event.pull_request.title }}>\n<https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}|View Run>"
}
EOF
curl -X POST https://slack.com/api/chat.postMessage \
-H "Authorization: Bearer $SLACK_BOT_TOKEN" \
-H "Content-type: application/json" \
--data "$data"
fi

- name: Upload benchmarks
if: env.SHOULD_UPLOAD_BENCHMARKS == '1'
uses: benchmark-action/github-action-benchmark@4de1bed97a47495fc4c5404952da0499e31f5c29
Expand Down
24 changes: 24 additions & 0 deletions .github/workflows/deploy-network.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@ on:
required: false
type: boolean
default: false
source_tag:
description: "Source tag that triggered this deploy"
required: false
type: string
workflow_dispatch:
inputs:
network:
Expand Down Expand Up @@ -59,6 +63,10 @@ on:
required: false
type: boolean
default: false
source_tag:
description: "Source tag that triggered this deploy"
required: false
type: string

concurrency:
group: deploy-network-${{ inputs.network }}-${{ inputs.namespace || inputs.network }}-${{ inputs.semver }}-${{ github.ref || github.ref_name }}
Expand Down Expand Up @@ -170,6 +178,22 @@ jobs:
echo "cluster=" >> $GITHUB_OUTPUT
fi

- name: Step summary
if: always()
run: |
{
echo "## Deploy Network"
echo ""
echo "| Item | Value |"
echo "|------|-------|"
echo "| Network | \`${{ inputs.network }}\` |"
echo "| Semver | \`${{ inputs.semver }}\` |"
echo "| Ref | \`${{ steps.checkout-ref.outputs.ref }}\` |"
if [[ -n "${{ inputs.source_tag }}" ]]; then
echo "| Source Tag | [\`${{ inputs.source_tag }}\`](https://github.com/${{ github.repository }}/releases/tag/${{ inputs.source_tag }}) |"
fi
} >> "$GITHUB_STEP_SUMMARY"

- name: Notify Slack on failure
if: failure()
env:
Expand Down
94 changes: 94 additions & 0 deletions .github/workflows/deploy-staging-public.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
name: Deploy to staging-public

on:
push:
branches:
- v4
workflow_dispatch: {}

concurrency:
group: deploy-staging-public
cancel-in-progress: true

env:
GITHUB_TOKEN: ${{ secrets.AZTEC_BOT_GITHUB_TOKEN }}

jobs:
determine-tag:
runs-on: ubuntu-latest
outputs:
tag: ${{ steps.poll-tag.outputs.tag }}
semver: ${{ steps.poll-tag.outputs.semver }}
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
token: ${{ secrets.AZTEC_BOT_GITHUB_TOKEN }}
fetch-depth: 0

- name: Read version from manifest
id: manifest
run: |
VERSION=$(jq -r '."."' .release-please-manifest.json)
echo "version=$VERSION"
echo "version=$VERSION" >> $GITHUB_OUTPUT

- name: Poll for tag at HEAD
id: poll-tag
run: |
# wait for tag to be pushed (either RC or stable release)
VERSION="${{ steps.manifest.outputs.version }}"
HEAD_SHA=$(git rev-parse HEAD)
MAX_ATTEMPTS=60
echo "Looking for tag matching v${VERSION} or v${VERSION}-rc.* at HEAD ($HEAD_SHA)"

for i in $(seq 1 $MAX_ATTEMPTS); do
git fetch --tags --force

TAG=$(git tag --points-at HEAD | grep -E "^v${VERSION}(-rc\.[0-9]+)?$" | sort -V | tail -n 1 || true)

if [ -n "$TAG" ]; then
echo "Found tag: $TAG"
SEMVER="${TAG#v}"
echo "tag=$TAG" >> $GITHUB_OUTPUT
echo "semver=$SEMVER" >> $GITHUB_OUTPUT
exit 0
fi

echo "Attempt $i/$MAX_ATTEMPTS: No matching tag yet, waiting 10s..."
sleep 10
done

echo "Error: No tag found for v${VERSION} at HEAD after 10 minutes"
exit 1

wait-for-ci3:
needs: determine-tag
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
fetch-depth: 1

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 22

- name: Wait for CI3
run: spartan/scripts/wait_for_ci3.ts "${{ needs.determine-tag.outputs.tag }}"

deploy:
needs: [determine-tag, wait-for-ci3]
runs-on: ubuntu-latest
steps:
- name: Trigger deploy-network on next branch
run: |
echo "Triggering deploy-network for staging-public with semver=${{ needs.determine-tag.outputs.semver }}"
gh workflow run deploy-network.yml \
--repo "${{ github.repository }}" \
--ref next \
-f network=staging-public \
-f semver="${{ needs.determine-tag.outputs.semver }}" \
-f source_tag="${{ needs.determine-tag.outputs.tag }}"
68 changes: 68 additions & 0 deletions .github/workflows/release-please.yml
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,74 @@ jobs:

echo "✅ Created tag: $TAG_NAME"

dedupe-release-notes:
name: Deduplicate release notes
needs: [release-please]
if: ${{ needs.release-please.outputs.release-pr }}
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- name: Check if release notes branch exists
id: check-branch
env:
GH_TOKEN: ${{ secrets.AZTEC_BOT_GITHUB_TOKEN }}
run: |
NOTES_BRANCH="${{ fromJSON(needs.release-please.outputs.release-pr).headBranchName }}--release-notes"
if git ls-remote --exit-code "https://x-access-token:${GH_TOKEN}@github.com/${{ github.repository }}.git" "refs/heads/$NOTES_BRANCH" >/dev/null 2>&1; then
echo "exists=true" >> $GITHUB_OUTPUT
echo "branch=$NOTES_BRANCH" >> $GITHUB_OUTPUT
else
echo "exists=false" >> $GITHUB_OUTPUT
echo "Release notes branch $NOTES_BRANCH does not exist, skipping deduplication"
fi

- name: Checkout release notes branch
if: steps.check-branch.outputs.exists == 'true'
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
ref: ${{ steps.check-branch.outputs.branch }}
fetch-depth: 1
token: ${{ secrets.AZTEC_BOT_GITHUB_TOKEN }}

- name: Fetch dedupe script from target branch
if: steps.check-branch.outputs.exists == 'true'
run: |
git fetch origin ${{ github.ref_name }} --depth=1
git show origin/${{ github.ref_name }}:scripts/dedupe_release_notes.py > /tmp/dedupe_release_notes.py

- name: Configure Git
if: steps.check-branch.outputs.exists == 'true'
run: |
git config --global user.name AztecBot
git config --global user.email tech@aztecprotocol.com

- name: Deduplicate release notes
if: steps.check-branch.outputs.exists == 'true'
run: |
if [ -f release-notes.md ]; then
python3 /tmp/dedupe_release_notes.py release-notes.md
git add release-notes.md
if ! git diff --cached --quiet; then
git commit -m "chore: deduplicate release notes"
git push
fi
fi

- name: Update PR body with deduped notes
if: steps.check-branch.outputs.exists == 'true'
env:
GH_TOKEN: ${{ secrets.AZTEC_BOT_GITHUB_TOKEN }}
run: |
if [ -f release-notes.md ]; then
PR_NUMBER=${{ fromJSON(needs.release-please.outputs.release-pr).number }}
NOTES_SIZE=$(wc -c < release-notes.md)
if [ "$NOTES_SIZE" -lt 60000 ]; then
gh pr edit "$PR_NUMBER" --body "$(cat release-notes.md)"
fi
fi

update-docs:
name: Update docs
env:
Expand Down
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "4.0.0"
".": "4.0.4"
}
Loading
Loading