Skip to content

fix(l1): reject BAL under-declaration outside transaction execution #6164

fix(l1): reject BAL under-declaration outside transaction execution

fix(l1): reject BAL under-declaration outside transaction execution #6164

name: Upgradeability
on:
pull_request:
branches: ["**"]
workflow_dispatch:
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
upgradeability:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: 20
- name: Install dependencies
run: |
npm install
cd tooling/hardhat
npm install
npm run compile
- name: Run Hardhat tests
working-directory: tooling/hardhat
run: npm test
- name: Add main worktree
run: |
git fetch origin main
git worktree add ./.tmp/ethrex-main origin/main
# Here we ensure the main worktree is buildable, main may not have the tooling or package.json
- name: Sync hardhat tooling into base
run: |
if [ ! -d ./.tmp/ethrex-main/tooling/hardhat ]; then
mkdir -p ./.tmp/ethrex-main/tooling
cp -R tooling/hardhat ./.tmp/ethrex-main/tooling/
fi
if [ ! -f ./.tmp/ethrex-main/package.json ]; then
cp package.json ./.tmp/ethrex-main/
fi
rm -rf ./.tmp/ethrex-main/tooling/hardhat/artifacts ./.tmp/ethrex-main/tooling/hardhat/cache
- name: Install base dependencies
working-directory: ./.tmp/ethrex-main
run: |
npm install
cd tooling/hardhat
npm install
npm run compile
- name: Prepare reference build-info
run: |
mkdir -p ./.tmp/upgrade-reference/main
cp -v ./.tmp/ethrex-main/tooling/hardhat/artifacts/build-info/*.json ./.tmp/upgrade-reference/main/ || {
echo "Error: No build-info JSON files found; compilation may have failed or produced no output."
exit 1
}
- name: Validate upgrade compatibility
run: node tooling/hardhat/scripts/validate-upgrades.js --reference ./.tmp/upgrade-reference/main