First draft of the USL API #20
Workflow file for this run
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: 'Test PR' | |
on: | |
pull_request: | |
branches: | |
- 'master' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
kevm-pyk-code-quality-checks: | |
name: 'Code Quality Checks' | |
runs-on: [self-hosted, linux, flyweight] | |
steps: | |
- name: 'Check out code' | |
uses: actions/checkout@v4 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- name: 'Install Poetry' | |
uses: Gr1N/setup-poetry@v8 | |
- name: 'Run code quality checks' | |
run: make -C kevm-pyk check | |
- name: 'Run pyupgrade' | |
run: make -C kevm-pyk pyupgrade | |
kevm-pyk-unit-tests: | |
needs: kevm-pyk-code-quality-checks | |
name: 'Unit Tests' | |
runs-on: [self-hosted, linux, normal] | |
steps: | |
- name: 'Check out code' | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
fetch-depth: 0 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- name: 'Install Poetry' | |
uses: Gr1N/setup-poetry@v8 | |
- name: 'Run unit tests' | |
run: | | |
make -C kevm-pyk cov-unit | |
kevm-pyk-profile: | |
needs: kevm-pyk-code-quality-checks | |
name: 'Profiling' | |
runs-on: [self-hosted, linux, normal] | |
steps: | |
- name: 'Check out code' | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
- name: Setup Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.10' | |
- name: 'Install Poetry' | |
uses: Gr1N/setup-poetry@v8 | |
- name: 'Run profiling' | |
run: | | |
make -C kevm-pyk profile | |
test-concrete-execution: | |
name: 'Build and Test KEVM concrete execution' | |
needs: kevm-pyk-code-quality-checks | |
runs-on: [self-hosted, linux, normal] | |
timeout-minutes: 45 | |
steps: | |
- name: 'Check out code' | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
- name: 'Set up Docker' | |
uses: ./.github/actions/with-docker | |
with: | |
container-name: kevm-ci-concrete-${{ github.sha }} | |
- name: 'Build kevm-pyk' | |
run: docker exec -u github-user kevm-ci-concrete-${{ github.sha }} /bin/bash -c 'make poetry' | |
- name: 'Build targets' | |
run: docker exec -u github-user kevm-ci-concrete-${{ github.sha }} /bin/bash -c 'CXX=clang++-14 poetry -C kevm-pyk run kdist --verbose build -j`nproc` evm-semantics.kllvm evm-semantics.kllvm-runtime' | |
- name: 'Test integration' | |
run: docker exec -u github-user kevm-ci-concrete-${{ github.sha }} /bin/bash -c 'make test-integration' | |
- name: 'Test conformance' | |
run: docker exec -u github-user kevm-ci-concrete-${{ github.sha }} /bin/bash -c 'make test-conformance' | |
- name: 'Test llvm krun' | |
run: docker exec -u github-user kevm-ci-concrete-${{ github.sha }} /bin/bash -c 'make test-interactive' | |
- name: 'Tear down Docker' | |
if: always() | |
run: | | |
docker stop --time=0 kevm-ci-concrete-${{ github.sha }} |