Skip to content
Closed
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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions .github/actions/install-tools/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,12 @@ runs:
toolchain: ${{ inputs.rust }}
components: rustfmt,clippy

- name: Install bindgen dep libclang-dev
shell: bash
run: |
whoami || users || pwd
sudo apt-get update && sudo apt-get install -y libclang-dev

- name: Install Cargo Make
uses: davidB/rust-cargo-make@v1

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/auto-deploy-contracts.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
with:
ref: ${{ github.ref_name }}
submodules: recursive
fetch-depth: 0
fetch-depth: 1

- uses: pnpm/action-setup@v2

Expand Down
51 changes: 14 additions & 37 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,62 +24,39 @@ on:

jobs:
commonmark:
uses: ./.github/workflows/commonmark-lint.yaml
uses: ./.github/workflows/lint-cmark.yaml

license:
uses: ./.github/workflows/license.yaml

contracts-prettier:
uses: ./.github/workflows/contracts-prettier.yaml

contracts-deployment-test:
uses: ./.github/workflows/contracts-deployment-test.yaml
needs: [contracts-prettier]

contracts-test:
uses: ./.github/workflows/contracts-test.yaml
needs: [contracts-prettier]

contracts-storage:
uses: ./.github/workflows/contracts-storage.yaml
needs: [contracts-prettier]

## This causes too much unpredictable noise, turning our builds red whenever a new vulnerability is found.
## It's better to have a separate workflow for auditing, and have it run on a schedule.
## However, given this code is purely used for tooling and not for production, it's not a big deal.
# contracts-pnpm-audit:
# uses: ./.github/workflows/contracts-pnpm-audit.yaml
# needs: [contracts-prettier]

contracts-sast:
uses: ./.github/workflows/contracts-sast.yaml
needs: [contracts-prettier]
uses: ./.github/workflows/lint-license.yaml

demos:
uses: ./.github/workflows/demos.yaml
needs: [contracts-prettier]
needs:
- contracts

contracts:
uses: ./.github/workflows/contracts.yaml

build:
uses: ./.github/workflows/build.yaml
needs: [license]
node:
uses: ./.github/workflows/node.yaml

unit-tests:
uses: ./.github/workflows/tests-unit.yaml
secrets: inherit
needs:
- build
- node

e2e-tests:
uses: ./.github/workflows/tests-e2e.yaml
secrets: inherit
needs:
- build
- node

fevm-contract-tests:
uses: ./.github/workflows/fevm-contract-tests.yaml
secrets: inherit
needs:
- build
- node
if: >-
github.ref == 'refs/heads/main' ||
github.ref_type == 'tag'
Expand All @@ -95,7 +72,7 @@ jobs:
github.ref == 'refs/heads/main' ||
github.ref_type == 'tag'
needs:
- contracts-test # generates the ABI artifacts (although fendermint can do on its own too)
- build
- fevm-contract-tests
- node
- unit-tests
- e2e-tests
2 changes: 1 addition & 1 deletion .github/workflows/contracts-deployment-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v4

- uses: pnpm/action-setup@v2

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/contracts-pnpm-audit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
if: ${{ !github.event.pull_request.draft }}
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- name: Setup Node
uses: actions/setup-node@v4
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/contracts-sast.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
if: ${{ !github.event.pull_request.draft }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: recursive

Expand All @@ -24,7 +24,7 @@ jobs:
runs-on: ubuntu-latest
if: ${{ !github.event.pull_request.draft }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: recursive

Expand Down Expand Up @@ -67,7 +67,7 @@ jobs:
runs-on: ubuntu-latest
if: ${{ !github.event.pull_request.draft }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- name: Setup Node
uses: actions/setup-node@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/contracts-storage.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest
if: ${{ !github.event.pull_request.draft }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: recursive

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/contracts-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
if: ${{ !github.event.pull_request.draft }}
steps:
- name: Checkout Repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
ref: ${{ github.ref }}
submodules: recursive
Expand All @@ -26,8 +26,8 @@ jobs:
with:
path: |
./contracts/out
./contract-bindings
./contracts/cache
./crates/contract-bindings
key: v2-contracts-abi-${{ hashFiles('./contracts/**/*.sol') }}

- name: Run tests
Expand Down
32 changes: 32 additions & 0 deletions .github/workflows/contracts.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Contracts

# This workflow is triggered from the main CI workflow.
on:
workflow_call:

jobs:
contracts-prettier:
uses: ./.github/workflows/contracts-prettier.yaml

contracts-deployment-test:
uses: ./.github/workflows/contracts-deployment-test.yaml
needs: [contracts-prettier]

contracts-test:
uses: ./.github/workflows/contracts-test.yaml
needs: [contracts-prettier]

contracts-storage:
uses: ./.github/workflows/contracts-storage.yaml
needs: [contracts-prettier]

## This causes too much unpredictable noise, turning our builds red whenever a new vulnerability is found.
## It's better to have a separate workflow for auditing, and have it run on a schedule.
## However, given this code is purely used for tooling and not for production, it's not a big deal.
# contracts-pnpm-audit:
# uses: ./.github/workflows/contracts-pnpm-audit.yaml
# needs: [contracts-prettier]

contracts-sast:
uses: ./.github/workflows/contracts-sast.yaml
needs: [contracts-prettier]
6 changes: 4 additions & 2 deletions .github/workflows/docker-publish.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ on:
env:
CARGO_INCREMENTAL: "0"
SCCACHE_CACHE_SIZE: 10G
# TODO use RUSTC_WRAPPER=sccache and double check if the ones below are still required
RUSTC_WRAPPER: "sccache"
CC: "sccache clang"
CXX: "sccache clang++"
PROFILE: "ci"
Expand All @@ -20,7 +22,7 @@ jobs:
matrix:
image:
- name: fendermint
path: fendermint
path: crates/node
needs_deps: true
- name: ipc-contracts
path: contracts
Expand All @@ -32,7 +34,7 @@ jobs:

steps:
- name: Check out the project
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Install Tools
uses: ./.github/actions/install-tools
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/fevm-contract-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Test Repository
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
submodules: 'recursive'
repository: 'consensus-shipyard/fevm-contract-tests'
path: 'fevm-contract-tests'

- name: Checkout Fendermint
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
repository: 'consensus-shipyard/ipc'
submodules: 'recursive'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: "Commonmark/Markdown: Lint"
name: "Lint cmark/markdown files"

# This workflow is triggered from the main CI workflow.
on:
Expand All @@ -16,4 +16,4 @@ jobs:
with:
fix: true
globs: '(scripts|crates)/**/README.md;contracts/specs/**/*.md;specs/**/*.md;docs/**/*.md'
separator: ';'
separator: ';'
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out the project
uses: actions/checkout@v3
uses: actions/checkout@v4

# This is so `make license` doesn't say "bad revision origin/main"
- name: Fetch origin for diff
Expand Down
File renamed without changes.
Loading
Loading