verification/ackermann: use PeanoNat instead of NPeano #180
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: Run tests with MinGW on Linux | |
on: [push, pull_request] | |
jobs: | |
mingw-linux-test: | |
runs-on: ubuntu-22.04 | |
strategy: | |
matrix: | |
compiler: | |
- x86_64-w64-mingw32-gcc | |
- i686-w64-mingw32-gcc | |
unicode: [y, n] | |
container: | |
image: docker://docker.io/library/ubuntu:22.04 | |
steps: | |
- name: Install dependencies | |
run: | | |
# 32-bit wine is needed to run many installers (even the 64-bit Python installer!) | |
dpkg --add-architecture i386 | |
apt-get update | |
apt-get install -y \ | |
build-essential \ | |
coq \ | |
gcc-mingw-w64 \ | |
git \ | |
openjdk-11-jdk \ | |
pkgconf \ | |
wget \ | |
wine32:i386 \ | |
wine64 \ | |
winetricks \ | |
xvfb | |
# Restore the HOME directory to the root user, as Github overrode it to /home/github and this caused issues with Wine | |
export HOME=/root | |
# Python3 requires Windows>=8.1 compatibility | |
winetricks win10 | |
if ${{ matrix.compiler == 'i686-w64-mingw32-gcc' }} ; then | |
# Download 32-bit Python from https://www.python.org/downloads/windows/ | |
wget https://www.python.org/ftp/python/3.10.1/python-3.10.1.exe | |
# Use Xvfb to create a virtual X11 server for the installer | |
xvfb-run wine python-3.10.1.exe /quiet InstallAllUsers=1 PrependPath=1 | |
else | |
# Download 64-bit Python from https://www.python.org/downloads/windows/ | |
wget https://www.python.org/ftp/python/3.10.1/python-3.10.1-amd64.exe | |
xvfb-run wine64 python-3.10.1-amd64.exe /quiet InstallAllUsers=1 PrependPath=1 | |
fi | |
# Add a helper to launch "wine python" without spaces | |
printf '#!/bin/sh\nexec wine python.exe "$@"' > /usr/local/bin/wine-python | |
chmod +x /usr/local/bin/wine-python | |
env: | |
DEBIAN_FRONTEND: noninteractive | |
# "checkout" requires git to be installed, which is why it is used after installing software | |
- uses: actions/checkout@v4 | |
- name: Configure the environment | |
run: | | |
echo "OS=Windows_NT" >> "$GITHUB_ENV" | |
echo "CC=${{ matrix.compiler }}" >> "$GITHUB_ENV" | |
echo "WINCC=${{ matrix.compiler }}" >> "$GITHUB_ENV" | |
echo "HAVE_UNICODE=${{ matrix.unicode }}" >> "$GITHUB_ENV" | |
echo "PYTHON=wine-python" >> "$GITHUB_ENV" | |
echo "CARGO=false" >> "$GITHUB_ENV" | |
echo "HOME=/root" >> "$GITHUB_ENV" | |
# Display the final environment file, for debugging purpose | |
cat "$GITHUB_ENV" | |
- name: Run tests | |
run: make test | |
- name: List targets which are not built | |
run: make list-nobuild |