Skip to content

docs: add ISignatureVerifier to README precompiles tree #205

docs: add ISignatureVerifier to README precompiles tree

docs: add ISignatureVerifier to README precompiles tree #205

Workflow file for this run

name: ci
permissions: {}
on:
workflow_dispatch:
pull_request:
push:
branches:
- master
env:
SOLC_MINIMUM: "0.8.20"
SOLC_LATEST: "0.8.34"
SOLC_PRERELEASE: "0.8.35-pre.1"
jobs:
build-matrix:
runs-on: ubuntu-latest
timeout-minutes: 5
permissions:
contents: read
outputs:
matrix: ${{ steps.generate.outputs.matrix }}
steps:
- id: generate
run: |
MINIMUM="${{ env.SOLC_MINIMUM }}"
LATEST="${{ env.SOLC_LATEST }}"
PRERELEASE="${{ env.SOLC_PRERELEASE }}"
matrix='{"include":['
for toolchain in stable nightly; do
for flags in \
"" \
"--via-ir" \
"--use solc:${LATEST}" \
"--use solc:${LATEST} --via-ir" \
"--use solc:${MINIMUM}" \
"--use solc:${MINIMUM} --via-ir"
do
matrix+='{"toolchain":"'"$toolchain"'","flags":"'"$flags"'","prerelease":false},'
done
done
# prerelease (nightly only, svm-rs is not up to date on stable)
for flags in \
"--use solc:${PRERELEASE}" \
"--use solc:${PRERELEASE} --via-ir"
do
matrix+='{"toolchain":"nightly","flags":"'"$flags"'","prerelease":true},'
done
matrix="${matrix%,}]}"
echo "matrix=$matrix" >> "$GITHUB_OUTPUT"
build:
needs: build-matrix
name: build +${{ matrix.toolchain }} ${{ matrix.flags }}
runs-on: ubuntu-latest
timeout-minutes: 10
permissions:
contents: read
strategy:
fail-fast: false
matrix: ${{ fromJSON(needs.build-matrix.outputs.matrix) }}
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- uses: foundry-rs/foundry-toolchain@v1
with:
version: ${{ matrix.toolchain }}
- run: forge --version
# 3805: "This is a pre-release compiler version, please do not use it in production."
- run: forge build --skip test --deny warnings ${{ matrix.prerelease && '--ignored-error-codes 3805' || '' }} ${{ matrix.flags }}
test:
runs-on: ubuntu-latest
timeout-minutes: 10
permissions:
contents: read
strategy:
fail-fast: false
matrix:
toolchain: [stable, nightly]
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- uses: foundry-rs/foundry-toolchain@v1
with:
version: ${{ matrix.toolchain }}
- run: forge --version
- run: forge test -vvv
fmt:
runs-on: ubuntu-latest
timeout-minutes: 10
permissions:
contents: read
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- uses: foundry-rs/foundry-toolchain@v1
- run: forge --version
- run: forge fmt --check
typos:
runs-on: ubuntu-latest
timeout-minutes: 10
permissions:
contents: read
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- uses: crate-ci/typos@631208b7aac2daa8b707f55e7331f9112b0e062d # v1
ci-success:
runs-on: ubuntu-latest
if: always()
needs:
- build-matrix
- build
- test
- fmt
- typos
timeout-minutes: 10
steps:
- name: Decide whether the needed jobs succeeded or failed
uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe # release/v1
with:
jobs: ${{ toJSON(needs) }}