Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Staging] Migrate upgradeable logic to separate package #265

Merged
merged 11 commits into from
Jul 5, 2024
Merged
95 changes: 87 additions & 8 deletions .github/workflows/verify-smart-contracts.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ jobs:
cd packages/contracts
yarn lint:license

test:
name: Test contracts
check-vulnerabilities:
name: Check vulnerabilities
runs-on: ubuntu-latest

steps:
Expand Down Expand Up @@ -79,24 +79,103 @@ jobs:
cat slither-result.json
echo "Static analyzer check finished"

unit-test:
name: Unti Test Contracts
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- name: Setup NodeJS
uses: actions/setup-node@v3
with:
node-version: "20"
cache: "yarn"

- name: Install dependencies
run: yarn --ignore-scripts

- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly-e15e33a07c0920189fc336391f538c3dad53da73 # https://github.com/foundry-rs/foundry/releases/tag/nightly-e15e33a07c0920189fc336391f538c3dad53da73

# Need for hardhat scripts
- name: Link packages
run: yarn

- name: Run tests (tools)
- name: Run tests (foundry)
run: |-
cd packages/contracts
yarn test:tools
FOUNDRY_FUZZ_RUNS=1000 forge test -vvv --gas-report

- name: Run tests (foundry)
integration-test:
name: Integration Test Contracts
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- name: Setup NodeJS
uses: actions/setup-node@v3
with:
node-version: "20"
cache: "yarn"

- name: Install dependencies
run: yarn --ignore-scripts

- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly-e15e33a07c0920189fc336391f538c3dad53da73 # https://github.com/foundry-rs/foundry/releases/tag/nightly-e15e33a07c0920189fc336391f538c3dad53da73

# Need for hardhat scripts
- name: Link packages
run: yarn

- name: Run tests
env:
SEPOLIA_RPC_URL: ${{ secrets.SEPOLIA_RPC_URL }}
run: |-
cd packages/contracts
FOUNDRY_FUZZ_RUNS=1000 forge test -vvv --gas-report
USE_BSC_FORK=true yarn test:hardhat:bsc

deploy-test:
name: Integration Test Deploy Logic
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- name: Setup NodeJS
uses: actions/setup-node@v3
with:
node-version: "20"
cache: "yarn"

- name: Install dependencies
run: yarn --ignore-scripts

- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly-e15e33a07c0920189fc336391f538c3dad53da73 # https://github.com/foundry-rs/foundry/releases/tag/nightly-e15e33a07c0920189fc336391f538c3dad53da73

# Need for hardhat scripts
- name: Link packages
run: yarn

- name: Run tests (hardhat)
- name: Run tests
env:
SEPOLIA_RPC_URL: ${{ secrets.SEPOLIA_RPC_URL }}
run: |-
cd packages/contracts
USE_BSC_FORK=true yarn test:hardhat
yarn test:hardhat:deploy

64 changes: 64 additions & 0 deletions .github/workflows/verify-upgradeable.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: Verify Upgradeable

on:
push:
branches:
- main
- staging
- development

pull_request:
branches:
- main
- staging
- development
types:
- opened
- synchronize

jobs:
build:
name: Build Upgradeable
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- name: Setup NodeJS
uses: actions/setup-node@v2
with:
node-version: "20"
cache: "yarn"

- name: Install dependencies
run: yarn --ignore-scripts

- name: Build
run: |-
cd packages/upgradeable
yarn build

test:
name: Test Upgradeable
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- name: Setup NodeJS
uses: actions/setup-node@v2
with:
node-version: "20"
cache: "yarn"

- name: Install dependencies
run: yarn --ignore-scripts

- name: Run tests
run: |-
cd packages/upgradeable
yarn test
1 change: 1 addition & 0 deletions CONTRIBUTE.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ Examples:

* `yarn lerna add [package-name] --scope=@eonian/contracts` - add to contracts package
* `yarn lerna add [package-name] --scope=@eonian/subgraph` - add to subgraph package
* `yarn lerna add [package-name] --scope=@eonian/upgradeable` - add to upgradable package

## Graphql types code generation

Expand Down
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@
"build:contracts": "lerna run build --scope='@eonian/contracts'",
"test:contracts": "lerna run test --scope='@eonian/contracts'",
"dev:contracts": "lerna run dev --scope='@eonian/contracts'",
"serve:contracts": "lerna run serve --scope='@eonian/contracts'"
"serve:contracts": "lerna run serve --scope='@eonian/contracts'",
"prepublish": "lerna exec --scope='@eonian/upgradeable' -- yarn prepublish"
},
"engines": {
"node": ">=20.0.0"
Expand Down
Loading