Skip to content

Commit 6b57d42

Browse files
Update to Macos-13 runner (#582)
1 parent 9ac229b commit 6b57d42

File tree

7 files changed

+46
-109
lines changed

7 files changed

+46
-109
lines changed

.github/workflows/ci.yml

+33-97
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
- uses: pre-commit/[email protected]
3232

3333
build-scratch:
34-
name: ${{ matrix.runs-on }} • py${{ matrix.python }}
34+
name: "${{ matrix.runs-on }} • py${{ matrix.python }}"
3535
needs: pre-commit
3636
defaults:
3737
run:
@@ -40,54 +40,19 @@ jobs:
4040
fail-fast: false
4141
matrix:
4242
include:
43-
# To minimise the computational resources, we only use a single python version and the final test-wheels for all python versions
43+
# To minimise the computational resources, we only use a single python version and the final test-wheels for all python versions
4444
- runs-on: ubuntu-latest
45-
python: '3.8'
45+
python: '3.12'
4646
triplet: x64-linux-mixed
47-
# - runs-on: ubuntu-latest
48-
# python: '3.9'
49-
# triplet: x64-linux-mixed
50-
# - runs-on: ubuntu-latest
51-
# python: '3.10'
52-
# triplet: x64-linux-mixed
53-
# - runs-on: ubuntu-latest
54-
# python: '3.11'
55-
# triplet: x64-linux-mixed
56-
# - runs-on: ubuntu-latest
57-
# python: '3.12'
58-
# triplet: x64-linux-mixed
5947

60-
- runs-on: macos-12 # macos latest is macos-14-arm64 running on M1 chips which doesn't have python support
61-
python: '3.8'
48+
- runs-on: macos-13
49+
python: '3.12'
6250
triplet: x64-osx-mixed
63-
# - runs-on: macos-12
64-
# python: '3.9'
65-
# triplet: x64-osx-mixed
66-
# - runs-on: macos-12
67-
# python: '3.10'
68-
# triplet: x64-osx-mixed
69-
# - runs-on: macos-12
70-
# python: '3.11'
71-
# triplet: x64-osx-mixed
72-
# - runs-on: macos-12
73-
# python: '3.12'
74-
# triplet: x64-osx-mixed
7551

7652
- runs-on: windows-latest
77-
python: '3.8'
53+
python: '3.12'
7854
triplet: x64-windows
79-
# - runs-on: windows-latest
80-
# python: '3.9'
81-
# triplet: x64-windows
82-
# - runs-on: windows-latest
83-
# python: '3.10'
84-
# triplet: x64-windows
85-
# - runs-on: windows-latest
86-
# python: '3.11'
87-
# triplet: x64-windows
88-
# - runs-on: windows-latest
89-
# python: '3.12'
90-
# triplet: x64-windows
55+
9156
env:
9257
VCPKG_DEFAULT_TRIPLET: ${{ matrix.triplet }}
9358
runs-on: ${{ matrix.runs-on }}
@@ -99,24 +64,11 @@ jobs:
9964
with:
10065
python-version: ${{ matrix.python }}
10166

102-
- name: Install test dependencies
67+
- name: Install windows cmake
10368
# TODO(jfarebro): There's a bug with Windows cmake and PEP517 builds via pip install.
10469
# As a temporary workaround installing cmake outside of the isolated env seems to work.
10570
run: python -m pip install --user cmake
106-
107-
- uses: microsoft/setup-msbuild@v2
10871
if: runner.os == 'Windows'
109-
# TODO(jfarebro): 02/16/2023 - There's a bug where pkg-config isn't installed on the macOS
110-
# runner. See: https://github.com/actions/runner-images/pull/7125
111-
- name: Install pkg-config on macOS
112-
if: runner.os == 'macOS'
113-
run: brew install pkg-config
114-
- uses: lukka/run-vcpkg@v11
115-
with:
116-
vcpkgGitCommitId: "8150939b69720adc475461978e07c2d2bf5fb76e"
117-
# There's a permissions issue with the cache
118-
# https://github.com/microsoft/vcpkg/issues/20121
119-
doNotCache: true
12072

12173
- name: Download and unpack ROMs
12274
run: ./scripts/download_unpack_roms.sh
@@ -128,21 +80,22 @@ jobs:
12880
run: python -m pytest
12981

13082
build-wheels:
131-
name: ${{ matrix.runs-on }} • ${{ matrix.arch }}
83+
name: "${{ matrix.runs-on }} • ${{ matrix.arch }}"
13284
needs: pre-commit
13385
defaults:
13486
run:
13587
shell: bash
13688
strategy:
89+
fail-fast: false
13790
matrix:
13891
include:
13992
- runs-on: ubuntu-latest
14093
arch: x86_64
14194
- runs-on: windows-latest
14295
arch: AMD64
143-
- runs-on: macos-12
96+
- runs-on: macos-13
14497
arch: x86_64
145-
- runs-on: macos-12
98+
- runs-on: macos-13
14699
arch: arm64
147100
runs-on: ${{ matrix.runs-on }}
148101

@@ -155,7 +108,6 @@ jobs:
155108
uses: docker/setup-buildx-action@v3
156109
with:
157110
install: true
158-
159111
- name: Build Docker image with vcpkg
160112
if: runner.os == 'linux'
161113
# using build-push-action (without push) to make use of cache arguments
@@ -167,22 +119,6 @@ jobs:
167119
push: false
168120
load: true
169121

170-
- uses: microsoft/setup-msbuild@v2
171-
if: runner.os == 'Windows'
172-
# TODO(jfarebro): 02/16/2023 - There's a bug where pkg-config isn't installed on the macOS
173-
# runner. See: https://github.com/actions/runner-images/pull/7125
174-
- name: Install pkg-config on macOS
175-
if: runner.os == 'macOS'
176-
run: brew install pkg-config
177-
178-
- uses: lukka/run-vcpkg@v11
179-
if: runner.os != 'linux'
180-
with:
181-
vcpkgGitCommitId: "8150939b69720adc475461978e07c2d2bf5fb76e"
182-
# There's a permissions issue with the cache
183-
# https://github.com/microsoft/vcpkg/issues/20121
184-
doNotCache: true
185-
186122
- name: Download and unpack ROMs
187123
run: ./scripts/download_unpack_roms.sh
188124

@@ -210,10 +146,6 @@ jobs:
210146
# ale_py-0.x.x-cp310-cp310-macosx_11_0_arm64.whl
211147
# ale_py-0.x.x-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
212148
# ale_py-0.x.x-cp310-cp310-win_amd64.whl
213-
- runs-on: ubuntu-latest
214-
python: '3.8'
215-
wheel-name: 'cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64'
216-
arch: 'x86_64'
217149
- runs-on: ubuntu-latest
218150
python: '3.9'
219151
wheel-name: 'cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64'
@@ -230,11 +162,11 @@ jobs:
230162
python: '3.12'
231163
wheel-name: 'cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64'
232164
arch: 'x86_64'
165+
- runs-on: ubuntu-latest
166+
python: '3.13'
167+
wheel-name: 'cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64'
168+
arch: 'x86_64'
233169

234-
- runs-on: windows-latest
235-
python: '3.8'
236-
wheel-name: 'cp38-cp38-win_amd64'
237-
arch: AMD64
238170
- runs-on: windows-latest
239171
python: '3.9'
240172
wheel-name: 'cp39-cp39-win_amd64'
@@ -251,32 +183,32 @@ jobs:
251183
python: '3.12'
252184
wheel-name: 'cp312-cp312-win_amd64'
253185
arch: AMD64
186+
- runs-on: windows-latest
187+
python: '3.13'
188+
wheel-name: 'cp313-cp313-win_amd64'
189+
arch: AMD64
254190

255-
- runs-on: macos-12
256-
python: '3.8'
257-
wheel-name: 'cp38-cp38-macosx_10_15_x86_64'
258-
arch: x86_64
259-
- runs-on: macos-12
191+
- runs-on: macos-13
260192
python: '3.9'
261193
wheel-name: 'cp39-cp39-macosx_10_15_x86_64'
262194
arch: x86_64
263-
- runs-on: macos-12
195+
- runs-on: macos-13
264196
python: '3.10'
265197
wheel-name: 'cp310-cp310-macosx_10_15_x86_64'
266198
arch: x86_64
267-
- runs-on: macos-12
199+
- runs-on: macos-13
268200
python: '3.11'
269201
wheel-name: 'cp311-cp311-macosx_10_15_x86_64'
270202
arch: x86_64
271-
- runs-on: macos-12
203+
- runs-on: macos-13
272204
python: '3.12'
273205
wheel-name: 'cp312-cp312-macosx_10_15_x86_64'
274206
arch: x86_64
207+
- runs-on: macos-13
208+
python: '3.13'
209+
wheel-name: 'cp313-cp313-macosx_10_15_x86_64'
210+
arch: x86_64
275211

276-
- runs-on: macos-14
277-
python: '3.8'
278-
wheel-name: 'cp38-cp38-macosx_11_0_arm64'
279-
arch: arm64
280212
- runs-on: macos-14
281213
python: '3.9'
282214
wheel-name: 'cp39-cp39-macosx_11_0_arm64'
@@ -293,6 +225,10 @@ jobs:
293225
python: '3.12'
294226
wheel-name: 'cp312-cp312-macosx_11_0_arm64'
295227
arch: arm64
228+
- runs-on: macos-14
229+
python: '3.13'
230+
wheel-name: 'cp313-cp313-macosx_11_0_arm64'
231+
arch: arm64
296232

297233
runs-on: ${{ matrix.runs-on }}
298234

@@ -313,7 +249,7 @@ jobs:
313249
run: python -m pip install ale_py-0.10.1-${{ matrix.wheel-name }}.whl
314250

315251
- name: Install Gymnasium and pytest
316-
run: python -m pip install gymnasium>=1.0.0a2 pytest
252+
run: python -m pip install gymnasium>=1.0.0 pytest
317253

318254
- name: Test
319255
run: python -m pytest

.github/workflows/pypi.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ jobs:
6868
run: ./scripts/download_unpack_roms.sh
6969

7070
- name: Build wheels
71-
uses: pypa/[email protected].3
71+
uses: pypa/[email protected]
7272
env:
7373
CIBW_ARCHS: "${{ matrix.arch }}"
7474

.pre-commit-config.yaml

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# See https://pre-commit.com/hooks.html for more hooks
33
repos:
44
- repo: https://github.com/pre-commit/pre-commit-hooks
5-
rev: v4.6.0
5+
rev: v5.0.0
66
hooks:
77
- id: check-symlinks
88
- id: destroyed-symlinks
@@ -36,17 +36,17 @@ repos:
3636
- --show-source
3737
- --statistics
3838
- repo: https://github.com/asottile/pyupgrade
39-
rev: v3.17.0
39+
rev: v3.19.0
4040
hooks:
4141
- id: pyupgrade
42-
args: ["--py38-plus"]
42+
args: ["--py39-plus"]
4343
- repo: https://github.com/PyCQA/isort
4444
rev: 5.13.2
4545
hooks:
4646
- id: isort
4747
args: ["--profile", "black"]
4848
- repo: https://github.com/python/black
49-
rev: 24.8.0
49+
rev: 24.10.0
5050
hooks:
5151
- id: black
5252
- repo: https://github.com/pycqa/pydocstyle

docs/getting-started.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ The Python interface `ale-py` supports the following configurations:
66

77
| Platform | Architecture | Python Version |
88
|:--------:|:------------:|:--------------:|
9-
| Linux | x64 | 3.8+ |
10-
| macOS | x64, arm64 | 3.8+ |
11-
| Windows | AMD64 | 3.8+ |
9+
| Linux | x64 | 3.9+ |
10+
| macOS | x64, arm64 | 3.9+ |
11+
| Windows | AMD64 | 3.9+ |
1212

1313

1414
To install the Python interface from PyPi simply run:

pyproject.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ build-backend = "setuptools.build_meta"
1010
name = "ale-py"
1111
description = "The Arcade Learning Environment (ALE) - a platform for AI research."
1212
readme = "README.md"
13-
requires-python = ">=3.8"
13+
requires-python = ">=3.9"
1414
license = {text = "GPLv2"}
1515
keywords = ["reinforcement-learning", "arcade-learning-environment", "atari"]
1616
authors = [
@@ -28,11 +28,11 @@ classifiers = [
2828
"Intended Audience :: Science/Research",
2929
"License :: OSI Approved :: GNU General Public License v2 (GPLv2)",
3030
"Programming Language :: Python :: 3",
31-
"Programming Language :: Python :: 3.8",
3231
"Programming Language :: Python :: 3.9",
3332
"Programming Language :: Python :: 3.10",
3433
"Programming Language :: Python :: 3.11",
3534
"Programming Language :: Python :: 3.12",
35+
"Programming Language :: Python :: 3.13",
3636
"Topic :: Scientific/Engineering",
3737
"Topic :: Scientific/Engineering :: Artificial Intelligence",
3838
]

src/ale/python/registration.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
from __future__ import annotations
44

55
from collections import defaultdict
6-
from typing import Any, Callable, Mapping, NamedTuple, Sequence
6+
from collections.abc import Mapping, Sequence
7+
from typing import Any, Callable, NamedTuple
78

89
import ale_py.roms as roms
910
import gymnasium

vcpkg.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@
1313
},
1414
"builtin-baseline": "9aa0d66373ce3a6868d12353d0d4960db0d4bd18",
1515
"overrides": [
16-
{ "name": "sdl2", "version": "2.0.16" }
16+
{ "name": "sdl2", "version": "2.24.2" }
1717
]
1818
}

0 commit comments

Comments
 (0)