-
Notifications
You must be signed in to change notification settings - Fork 432
140 lines (118 loc) · 3.71 KB
/
test-wheels.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
# 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/[email protected]
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