Commit 7bdcb0ff authored by Joshua Gutow's avatar Joshua Gutow Committed by GitHub

CI: Split contracts bedrock (#5098)

* CI: Split contracts bedrock

* Reuse yarn cache

* Revert --immutable flag

---------
Co-authored-by: default avatarMark Tyneway <mark.tyneway@gmail.com>
parent e7ff0cd3
...@@ -66,9 +66,38 @@ jobs: ...@@ -66,9 +66,38 @@ jobs:
- checkout - checkout
- check-changed: - check-changed:
patterns: op-bindings,op-chain-ops,packages/ patterns: op-bindings,op-chain-ops,packages/
- restore_cache:
name: Restore Yarn Package Cache
keys:
- yarn-packages-v2-{{ checksum "yarn.lock" }}
- run: - run:
name: Install dependencies name: Install dependencies
command: yarn && git diff --exit-code command: yarn install && git diff --exit-code
- save_cache:
name: Save Yarn Package Cache
key: yarn-packages-v2-{{ checksum "yarn.lock" }}
paths:
- "node_modules"
- "packages/actor-tests/node_modules"
- "packages/atst/node_modules"
- "packages/balance-monitor/node_modules"
- "packages/chain-mon/node_modules"
- "packages/common-ts/node_modules"
- "packages/contracts/node_modules"
- "packages/contracts-bedrock/node_modules"
- "packages/contracts-governance/node_modules"
- "packages/contracts-periphery/node_modules"
- "packages/core-utils/node_modules"
- "packages/data-transport-layer/node_modules"
- "packages/drippie-mon/node_modules"
- "packages/fault-detector/node_modules"
- "packages/hardhat-deploy-config/node_modules"
- "packages/integration-tests-bedrock/node_modules"
- "packages/message-relayer/node_modules"
- "packages/migration-data/node_modules"
- "packages/replica-healthcheck/node_modules"
- "packages/sdk/node_modules"
- "packages/two-step-monitor/node_modules"
- run: - run:
name: print forge version name: print forge version
command: forge --version command: forge --version
...@@ -78,8 +107,6 @@ jobs: ...@@ -78,8 +107,6 @@ jobs:
- persist_to_workspace: - persist_to_workspace:
root: "." root: "."
paths: paths:
- "node_modules"
- "packages/*/node_modules"
- "packages/*/dist" - "packages/*/dist"
- "packages/*/artifacts" - "packages/*/artifacts"
- "packages/contracts/src/contract-artifacts.ts" - "packages/contracts/src/contract-artifacts.ts"
...@@ -267,18 +294,12 @@ jobs: ...@@ -267,18 +294,12 @@ jobs:
steps: steps:
- checkout - checkout
- attach_workspace: { at: "." } - attach_workspace: { at: "." }
- restore_cache:
name: Restore Yarn Package Cache
keys:
- yarn-packages-v2-{{ checksum "yarn.lock" }}
- check-changed: - check-changed:
patterns: contracts-bedrock,hardhat-deploy-config patterns: contracts-bedrock,hardhat-deploy-config
- run:
name: lint
command: yarn lint:check
working_directory: packages/contracts-bedrock
- run:
name: slither
command: |
slither --version
yarn slither || exit 0
working_directory: packages/contracts-bedrock
- run: - run:
name: print forge version name: print forge version
command: forge --version command: forge --version
...@@ -295,6 +316,27 @@ jobs: ...@@ -295,6 +316,27 @@ jobs:
command: codecov --verbose --clean --flags contracts-bedrock-tests command: codecov --verbose --clean --flags contracts-bedrock-tests
environment: environment:
FOUNDRY_PROFILE: ci FOUNDRY_PROFILE: ci
contracts-bedrock-checks:
docker:
- image: ethereumoptimism/ci-builder:latest
steps:
- checkout
- attach_workspace: { at: "." }
- restore_cache:
name: Restore Yarn Package Cache
keys:
- yarn-packages-v2-{{ checksum "yarn.lock" }}
- run:
name: lint
command: yarn lint:check
working_directory: packages/contracts-bedrock
- run:
name: slither
command: |
slither --version
yarn slither || exit 0
working_directory: packages/contracts-bedrock
- run: - run:
name: gas snapshot name: gas snapshot
command: | command: |
...@@ -303,10 +345,6 @@ jobs: ...@@ -303,10 +345,6 @@ jobs:
environment: environment:
FOUNDRY_PROFILE: ci FOUNDRY_PROFILE: ci
working_directory: packages/contracts-bedrock working_directory: packages/contracts-bedrock
- run:
name: validate spacers
command: yarn validate-spacers
working_directory: packages/contracts-bedrock
- run: - run:
name: storage snapshot name: storage snapshot
command: yarn storage-snapshot && git diff --exit-code .storage-layout command: yarn storage-snapshot && git diff --exit-code .storage-layout
...@@ -316,6 +354,21 @@ jobs: ...@@ -316,6 +354,21 @@ jobs:
command: yarn autogen:invariant-docs && git diff --exit-code ./invariant-docs/*.md command: yarn autogen:invariant-docs && git diff --exit-code ./invariant-docs/*.md
working_directory: packages/contracts-bedrock working_directory: packages/contracts-bedrock
contracts-bedrock-validate-spaces:
docker:
- image: ethereumoptimism/ci-builder:latest
steps:
- checkout
- attach_workspace: { at: "." }
- restore_cache:
name: Restore Yarn Package Cache
keys:
- yarn-packages-v2-{{ checksum "yarn.lock" }}
- run:
name: validate spacers
command: yarn validate-spacers
working_directory: packages/contracts-bedrock
bedrock-echidna-build: bedrock-echidna-build:
docker: docker:
- image: ethereumoptimism/ci-builder:latest - image: ethereumoptimism/ci-builder:latest
...@@ -349,6 +402,10 @@ jobs: ...@@ -349,6 +402,10 @@ jobs:
steps: steps:
- checkout - checkout
- attach_workspace: { at: "." } - attach_workspace: { at: "." }
- restore_cache:
name: Restore Yarn Package Cache
keys:
- yarn-packages-v2-{{ checksum "yarn.lock" }}
- check-changed: - check-changed:
patterns: contracts-bedrock,contracts patterns: contracts-bedrock,contracts
- run: - run:
...@@ -364,6 +421,10 @@ jobs: ...@@ -364,6 +421,10 @@ jobs:
steps: steps:
- checkout - checkout
- attach_workspace: { at: "." } - attach_workspace: { at: "." }
- restore_cache:
name: Restore Yarn Package Cache
keys:
- yarn-packages-v2-{{ checksum "yarn.lock" }}
- check-changed: - check-changed:
patterns: contracts-bedrock,op-bindings patterns: contracts-bedrock,op-bindings
- run: - run:
...@@ -389,6 +450,10 @@ jobs: ...@@ -389,6 +450,10 @@ jobs:
steps: steps:
- checkout - checkout
- attach_workspace: { at: "." } - attach_workspace: { at: "." }
- restore_cache:
name: Restore Yarn Package Cache
keys:
- yarn-packages-v2-{{ checksum "yarn.lock" }}
- check-changed: - check-changed:
patterns: <<parameters.package_name>>,<<parameters.dependencies>> patterns: <<parameters.package_name>>,<<parameters.dependencies>>
- run: - run:
...@@ -442,6 +507,10 @@ jobs: ...@@ -442,6 +507,10 @@ jobs:
steps: steps:
- checkout - checkout
- attach_workspace: { at: "." } - attach_workspace: { at: "." }
- restore_cache:
name: Restore Yarn Package Cache
keys:
- yarn-packages-v2-{{ checksum "yarn.lock" }}
- check-changed: - check-changed:
patterns: packages patterns: packages
# Note: The below needs to be manually configured whenever we # Note: The below needs to be manually configured whenever we
...@@ -893,6 +962,12 @@ workflows: ...@@ -893,6 +962,12 @@ workflows:
- contracts-bedrock-tests: - contracts-bedrock-tests:
requires: requires:
- yarn-monorepo - yarn-monorepo
- contracts-bedrock-checks:
requires:
- yarn-monorepo
- contracts-bedrock-validate-spaces:
requires:
- yarn-monorepo
- op-bindings-build: - op-bindings-build:
requires: requires:
- yarn-monorepo - yarn-monorepo
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment