Skip to content

Move Product to MathNotation #634

Move Product to MathNotation

Move Product to MathNotation #634

Workflow file for this run

name: Test
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events...
# ...but only for the pure-z3 and master branches
push:
branches: [ pure-z3, master]
pull_request:
branches: [ pure-z3, master]
# Triggers the workflow every Monday 6am for
# pure-z3 branch
schedule:
- cron: '0 6 * * 1'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
env:
PROJECT: MachineArithmetic
Z3_DOWNLOAD_URL_WINDOWS: https://github.com/Z3Prover/z3/releases/download/z3-4.8.17/z3-4.8.17-x64-win.zip
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
full:
name: "Full - ${{matrix.dialect}}, ${{matrix.os}}"
# The type of runner that the job will run on
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
dialect: [ pharo ]
scheduled:
- ${{ github.event_name == 'schedule' }}
exclude:
# We only run tests on Windows on scheduled builds
# as they take longer and slows down PR checks.
- scheduled: false
os: windows-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- name: Add MSYS2 to PATH (Windows only)
if: matrix.os == 'windows-latest'
run: echo "C:\msys64\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Install required tools (Windows only)
if: matrix.os == 'windows-latest'
run: pacman --noconfirm -Syu wget make unzip
- name: Install Z3 (Linux)
if: matrix.os == 'ubuntu-latest'
run: sudo apt-get install libz3-4 libz3-dev
- name: Install Z3 (Windows)
if: matrix.os == 'windows-latest'
run: |
cd pharo
wget --quiet --output-document=z3.zip ${{env.Z3_DOWNLOAD_URL_WINDOWS}}
unzip z3.zip
cp z3*win/bin/*.dll .
- name: Fetch commits so that Iceberg doesn't crash
run: git fetch --unshallow
- name: Build
run: |
make -C ${{matrix.dialect}}
- name: Test
run: |
make -C ${{matrix.dialect}} test
z3bindings:
name: "Z3 bindings only - ${{matrix.dialect}}, ${{matrix.os}}"
# The type of runner that the job will run on
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
dialect: [ pharo , stx ]
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- name: Add MSYS2 to PATH (Windows only)
if: matrix.os == 'windows-latest'
run: echo "C:\msys64\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Install required tools (Windows only)
if: matrix.os == 'windows-latest'
run: pacman --noconfirm -Syu wget make unzip
- name: Install Z3 (Linux)
if: matrix.os == 'ubuntu-latest'
run: sudo apt-get install libz3-4 libz3-dev
- name: Install Z3 (Windows)
if: matrix.os == 'windows-latest'
run: |
cd pharo
wget --quiet --output-document=z3.zip ${{env.Z3_DOWNLOAD_URL_WINDOWS}}
unzip z3.zip
cp z3*win/bin/*.dll .
- name: Fetch commits so that Iceberg doesn't crash
run: git fetch --unshallow
- name: Build
run: |
make -C ${{matrix.dialect}}
- name: Test
run: |
make -C ${{matrix.dialect}} test