Skip to content

Implement Tenderly Web3 Actions to monitor different RedStone smart contracts #831

Implement Tenderly Web3 Actions to monitor different RedStone smart contracts

Implement Tenderly Web3 Actions to monitor different RedStone smart contracts #831

Workflow file for this run

name: PR CI
on:
pull_request:
branches: [ main, development ]
permissions:
contents: read
security-events: write
env:
FOUNDRY_PROFILE: ci
jobs:
check:
strategy:
fail-fast: true
matrix:
system:
- os: macos-latest
target: x86_64-apple-darwin
- os: ubuntu-latest
target: x86_64-unknown-linux-gnu
- os: windows-latest
target: x86_64-pc-windows-msvc
runs-on: ${{ matrix.system.os }}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly
- name: Use Node.js 18
uses: actions/setup-node@v3
with:
node-version: 18
- name: Install yarn
run: npm install --global yarn
- name: Install dependencies
shell: bash
run: yarn --prefer-offline
- name: Check TypeScript files
if: ${{ contains(matrix.system.os, 'windows') == false }}
run: yarn format
- name: Check formatting for TypeScript files
if: ${{ contains(matrix.system.os, 'windows') == false }}
run: |
if [ -z "$(git status --untracked-files=no --porcelain)" ]; then
echo "All files formatted"
else
echo "Running format is required"
exit 1
fi
- name: Check formatting
if: ${{ contains(matrix.system.os, 'windows') == false }}
run: |
forge fmt --check
id: formatting
- name: Run Forge build
run: |
forge --version
forge build --sizes
id: build
- name: Run Forge tests
run: |
forge test -vvv
id: test
- name: Run Slither
if: ${{ contains(matrix.system.os, 'ubuntu') == true }}
uses: crytic/[email protected]
with:
solc-version: 0.8.23
sarif: results.sarif
fail-on: medium
slither-args: --exclude-dependencies --exclude-low --exclude-informational --filter-paths "Ed25519.sol"
id: slither
- name: Upload SARIF file
if: ${{ contains(matrix.system.os, 'ubuntu') == true }}
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: ${{ steps.slither.outputs.sarif }}