Skip to content

ci: parallelize snekmate tests (#370) #394

ci: parallelize snekmate tests (#370)

ci: parallelize snekmate tests (#370) #394

Workflow file for this run

name: Test long
on:
push:
branches: [main, chore-workflows]
workflow_dispatch:
inputs:
halmos-options:
description: "additional halmos options"
required: false
type: string
default: ""
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
cache-solver: ["", "--cache-solver"]
testname:
- "tests/solver"
- "examples/simple"
- "examples/tokens/ERC20"
- "examples/tokens/ERC721"
steps:
# TODO: remove this step once halmos-builder package is public
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Build image
run: |
docker build -t halmos-image . --file packages/halmos/Dockerfile
- name: Print halmos version
run: docker run halmos-image --version
- name: Run pytest
run: |
docker run -v .:/workspace --entrypoint pytest halmos-image -x -v tests/test_halmos.py -k ${{ matrix.testname }} --halmos-options='-st --solver-timeout-assertion 0 --solver-threads 3 --solver-command yices-smt2 ${{ matrix.cache-solver }} ${{ inputs.halmos-options }}' -s --log-cli-level=