python/processor/x86_msr: add new MSR from Linux 6.19 #269
This file contains hidden or 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: | |
| # Use a container to avoid an installation conflict between the 32-bit packages | |
| # and the pre-installed packages on GitHub Actions runner images. | |
| runs-on: ubuntu-24.04 | |
| container: | |
| image: docker://docker.io/library/ubuntu:24.04 | |
| strategy: | |
| matrix: | |
| compiler: | |
| - x86_64-w64-mingw32-gcc | |
| - i686-w64-mingw32-gcc | |
| unicode: [y, n] | |
| steps: | |
| - name: Configure APT mirrors | |
| run: | | |
| # Use the same mirrors as https://github.com/actions/runner-images/blob/ubuntu24/20250527.1/images/ubuntu/scripts/build/configure-apt-sources.sh | |
| printf "http://azure.archive.ubuntu.com/ubuntu/\tpriority:1\n" >> /etc/apt/apt-mirrors.txt | |
| printf "https://archive.ubuntu.com/ubuntu/\tpriority:2\n" >> /etc/apt/apt-mirrors.txt | |
| printf "https://security.ubuntu.com/ubuntu/\tpriority:3\n" >> /etc/apt/apt-mirrors.txt | |
| sed -i 's/http:\/\/archive\.ubuntu\.com\/ubuntu\//mirror+file:\/etc\/apt\/apt-mirrors.txt/' /etc/apt/sources.list.d/ubuntu.sources | |
| sed -i 's/http:\/\/security\.ubuntu\.com\/ubuntu\//mirror+file:\/etc\/apt\/apt-mirrors.txt/' /etc/apt/sources.list.d/ubuntu.sources | |
| # Configure retry like https://github.com/actions/runner-images/blob/ubuntu24/20250527.1/images/ubuntu/scripts/build/configure-apt.sh#L18 | |
| echo 'APT::Acquire::Retries "10";' > /etc/apt/apt.conf.d/80-retries | |
| - 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 wine 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 |