Test build evm tests suite #7
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: EVM test suite | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
types: [opened, synchronize, reopened, ready_for_review] | |
merge_group: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
preflight: | |
uses: ./.github/workflows/reusable-preflight.yml | |
evm-test-suite: | |
needs: [preflight] | |
runs-on: ${{ needs.preflight.outputs.RUNNER }} | |
if: ${{ needs.preflight.outputs.changes_rust }} | |
timeout-minutes: 60 | |
container: | |
image: ${{ needs.preflight.outputs.IMAGE }} | |
env: | |
# Enable debug assertions since we are running optimized builds for testing | |
# but still want to have debug assertions. | |
RUSTFLAGS: "-C debug-assertions" | |
RUST_BACKTRACE: 1 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: script | |
run: | | |
forklift cargo build --locked --profile production -p pallet-revive-eth-rpc --bin eth-rpc | |
forklift cargo build --locked --profile testnet --features pyroscope,fast-runtime --bin polkadot | |
- name: Checkout evm-tests | |
uses: actions/checkout@v4 | |
with: | |
repository: paritytech/evm-test-suite | |
ref: 14b2b9af243b70a938404e6366df0ce364d74232 | |
path: evm-test-suite | |
- name: script | |
run: | | |
echo "Change to the evm-test-suite directory" | |
cd evm-test-suite | |
echo "Download the resolc binary" | |
wget https://github.com/paritytech/revive/releases/download/v0.1.0-dev.9/resolc | |
chmod +x resolc | |
echo "Run the tests" | |
init.sh --kitchensink -- --matter-labs -- ../target/testnet/polkadot ../target/production/eth-rpc ./resolc | |
confirm-required-test-evm-jobs-passed: | |
runs-on: ubuntu-latest | |
name: All test misc tests passed | |
# If any new job gets added, be sure to add it to this array | |
needs: | |
- evm-test-suite | |
if: always() && !cancelled() | |
steps: | |
- run: | | |
tee resultfile <<< '${{ toJSON(needs) }}' | |
FAILURES=$(cat resultfile | grep '"result": "failure"' | wc -l) | |
if [ $FAILURES -gt 0 ]; then | |
echo "### At least one required job failed ❌" >> $GITHUB_STEP_SUMMARY | |
exit 1 | |
else | |
echo '### Good job! All the required jobs passed 🚀' >> $GITHUB_STEP_SUMMARY | |
fi |