Add testing for wheels #2
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
# As release-wheel will run on publish, we want to check that the wheels will be correctly | |
# This action can be manually called (https://github.com/Farama-Foundation/Arcade-Learning-Environment/actions/workflows/test-wheels.yml) using run workflows | |
# or activated for a PR (uncomment the code below) | |
# workflows | |
# 1. build the wheels for relevant systems | |
# 2. sbuild for tar.gz | |
# 3. pip install .whl and run tests | |
# 5. pip install .tar.gz and run tests | |
name: Test wheels | |
on: [pull_request, push] | |
permissions: | |
contents: read # to fetch code (actions/checkout) | |
jobs: | |
build-wheels: | |
name: ${{ matrix.runs-on }} • ${{ matrix.arch }} | |
defaults: | |
run: | |
shell: bash | |
strategy: | |
matrix: | |
include: | |
- runs-on: ubuntu-latest | |
arch: x86_64 | |
- runs-on: windows-latest | |
arch: AMD64 | |
- runs-on: macos-12 | |
arch: x86_64 | |
- runs-on: macos-12 | |
arch: arm64 | |
runs-on: ${{ matrix.runs-on }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Docker Buildx | |
if: runner.os == 'linux' | |
id: buildx | |
uses: docker/setup-buildx-action@v1 | |
with: | |
install: true | |
- name: Build Docker image with vcpkg | |
if: runner.os == 'linux' | |
# using build-push-action (without push) to make use of cache arguments | |
uses: docker/build-push-action@v2 | |
with: | |
context: . | |
file: .github/docker/manylinux-vcpkg.Dockerfile | |
tags: manylinux-vcpkg:latest | |
push: false | |
load: true | |
- uses: microsoft/setup-msbuild@v2 | |
if: runner.os == 'Windows' | |
# TODO(jfarebro): 02/16/2023 - There's a bug where pkg-config isn't installed on the macOS | |
# runner. See: https://github.com/actions/runner-images/pull/7125 | |
- name: Install pkg-config on macOS | |
if: runner.os == 'macOS' | |
run: brew install pkg-config | |
- uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: "8150939b69720adc475461978e07c2d2bf5fb76e" | |
# There's a permissions issue with the cache | |
# https://github.com/microsoft/vcpkg/issues/20121 | |
doNotCache: true | |
- name: Download and unpack ROMs | |
run: ./scripts/download_unpack_roms.sh | |
- name: Build wheels | |
uses: pypa/cibuildwheel@v2.17.0 | |
env: | |
CIBW_ARCHS: "${{ matrix.arch }}" | |
- name: Upload wheels | |
uses: actions/upload-artifact@v2 | |
with: | |
name: wheels | |
path: ./wheelhouse/*.whl | |
test-wheels: | |
name: Test wheels | |
needs: build-wheels | |
strategy: | |
matrix: | |
include: | |
- runs-on: ubuntu-latest | |
arch: x86_64 | |
python: '3.7' | |
- runs-on: ubuntu-latest | |
arch: x86_64 | |
python: '3.12' | |
- runs-on: windows-latest | |
arch: AMD64 | |
python: '3.7' | |
- runs-on: windows-latest | |
arch: AMD64 | |
python: '3.12' | |
- runs-on: macos-12 | |
arch: x86_64 | |
python: '3.7' | |
- runs-on: macos-12 | |
arch: x86_64 | |
python: '3.12' | |
- runs-on: macos-12 | |
arch: arm64 | |
python: '3.7' | |
- runs-on: macos-12 | |
arch: arm64 | |
python: '3.12' | |
runs-on: ${{ matrix.runs-on }} | |
steps: | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python }} | |
- uses: actions/download-artifact@v1 | |
with: | |
name: wheels | |
- run: ls | |
- run: ls wheels/ | |
- name: Build | |
run: python -m pip install wheels/ale_py*${{ matrix.python }}*${{ matrix.runs-on }}.whl | |
- name: Install Gymnasium and pytest | |
run: python -m pip install gymnasium>=1.0.0a1 pytest | |
- name: Test | |
run: python -m pytest |