Skip to content

Commit cb47229

Browse files
authored
Merge pull request #453 from iiasa/ci/macos-13
Swap macos-13 → -15-intel runners in CI
2 parents c303d54 + f0cf5d0 commit cb47229

File tree

8 files changed

+6
-29
lines changed

8 files changed

+6
-29
lines changed

.github/workflows/pytest.yaml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ jobs:
5252

5353
strategy:
5454
matrix:
55-
os: [ macos-13, macos-latest, ubuntu-latest, windows-latest ]
55+
os: [ macos-15-intel, macos-latest, ubuntu-latest, windows-latest ]
5656
runs-on: ${{ matrix.os }}
5757
steps:
5858
- uses: francisbilham11/action-cached-lfs-checkout@v3
@@ -88,7 +88,7 @@ jobs:
8888
strategy:
8989
matrix:
9090
os:
91-
- macos-13
91+
- macos-15-intel
9292
- macos-latest
9393
- ubuntu-latest
9494
- windows-latest
@@ -99,7 +99,7 @@ jobs:
9999
# Minimum version given in pyproject.toml + earlier version of Python
100100
# For this job only, the oldest version of Python supported by message-ix-models
101101
- { upstream: v3.8.0, python: "3.10" } # Released 2024-01-12
102-
- { upstream: v3.9.0, python: "3.14" } # 2024-06-04
102+
- { upstream: v3.9.0, python: "3.13" } # 2024-06-04
103103
- { upstream: v3.10.0, python: "3.14" } # 2025-02-21
104104
# Latest released version + latest released Python
105105
- { upstream: v3.11.0, python: "3.14" } # 2025-05-27
@@ -112,9 +112,9 @@ jobs:
112112
- { os: macos-latest, version: { upstream: v3.8.0 }}
113113
- { os: macos-latest, version: { upstream: v3.9.0 }}
114114
# Redundant with macos-latest
115-
- { os: macos-13, version: { upstream: v3.10.0 }}
116-
- { os: macos-13, version: { upstream: v3.11.0 }}
117-
- { os: macos-13, version: { upstream: main }}
115+
- { os: macos-15-intel, version: { upstream: v3.10.0 }}
116+
- { os: macos-15-intel, version: { upstream: v3.11.0 }}
117+
- { os: macos-15-intel, version: { upstream: main }}
118118

119119
fail-fast: false
120120

@@ -153,8 +153,6 @@ jobs:
153153
license: ${{ secrets.GAMS_LICENSE }}
154154

155155
- uses: ts-graphviz/setup-graphviz@v2
156-
# Work around ts-graphviz/setup-graphviz#630
157-
if: matrix.os != 'macos-13'
158156

159157
- name: Set Java version on Windows
160158
if: startsWith(matrix.os, 'windows-')

message_ix_models/model/transport/testing.py

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
"""Utilities for testing :mod:`~message_ix_models.model.transport`."""
22

33
import logging
4-
import platform
54
from collections import ChainMap
65
from collections.abc import Callable, Hashable, Mapping
76
from contextlib import nullcontext
@@ -18,7 +17,6 @@
1817
from message_ix_models.report.sim import add_simulated_solution
1918
from message_ix_models.testing import GHA, SOLVE_OPTIONS, bare_res
2019
from message_ix_models.util import silence_log
21-
from message_ix_models.util.graphviz import HAS_GRAPHVIZ
2220

2321
from . import Config, build
2422

@@ -47,10 +45,6 @@
4745
reason="Missing ISR/mer-to-ppp.csv + not supported by MaybeAdaptR11Source",
4846
),
4947
4: pytest.mark.xfail(reason="Currently unsupported"),
50-
7: pytest.mark.xfail(
51-
condition=GHA and platform.system() == "Darwin" and not HAS_GRAPHVIZ,
52-
reason="Graphviz missing on macos-13 GitHub Actions runners",
53-
),
5448
9: pytest.mark.xfail(reason="Missing R14 input data/config"),
5549
10: pytest.mark.usefixtures(
5650
"advance_test_data", "iea_eweb_test_data", "ssp_user_data"

message_ix_models/testing/__init__.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
from base64 import b32hexencode as b32encode
77
except ImportError:
88
from base64 import b32encode
9-
import platform
109
from collections.abc import Generator, Hashable
1110
from copy import deepcopy
1211
from importlib.metadata import version
@@ -68,12 +67,6 @@
6867
condition=GHA,
6968
reason="GitHub-hosted runner has no access to IIASA-internal databases",
7069
),
71-
1: pytest.mark.xfail(
72-
condition=GHA
73-
and platform.system() == "Darwin"
74-
and not bool(shutil.which("dot")),
75-
reason="Graphviz not available for GitHub Actions jobs on some macOS runners",
76-
),
7770
2: pytest.mark.xfail(
7871
condition=not util.HAS_MESSAGE_DATA,
7972
reason="Not yet migrated from message_data",

message_ix_models/tests/model/transport/test_build.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,6 @@ def scenario_code() -> Iterator["Code"]:
283283

284284

285285
@MARK[10]
286-
@MARK[7]
287286
@build.get_computer.minimum_version
288287
@pytest.mark.parametrize(
289288
"regions, years, dummy_LDV, nonldv, solve",

message_ix_models/tests/model/transport/test_demand.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,6 @@ def test_exo_pdt(test_context, ssp, regions="R12", years="B"):
9797
)
9898

9999

100-
@MARK[7]
101100
@build.get_computer.minimum_version
102101
def test_exo_report(test_context, tmp_path):
103102
"""Exogenous demand results can be plotted.
@@ -228,7 +227,6 @@ def test_urban_rural_shares(test_context, tmp_path, regions, years, pop_scen):
228227

229228

230229
@MARK["#375"]
231-
@MARK[7]
232230
@build.get_computer.minimum_version
233231
@workflow.generate.minimum_version
234232
@pytest.mark.parametrize(

message_ix_models/tests/model/transport/test_report.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,6 @@ def test_debug(
132132

133133

134134
@MARK[10]
135-
@MARK[7]
136135
@build.get_computer.minimum_version
137136
@pytest.mark.parametrize(
138137
"regions, years",
@@ -187,7 +186,6 @@ def test_bare(
187186

188187
@build.get_computer.minimum_version
189188
@MARK[10]
190-
@MARK[7]
191189
@mark.usefixtures("quiet_genno")
192190
@mark.parametrize(
193191
"build",

message_ix_models/tests/project/test_navigate.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@ def test_generate_workflow(test_context: "Context") -> None:
6464
]
6565

6666

67-
@testing.MARK[1]
6867
def test_generate_workflow_cli(test_context, mix_models_cli) -> None:
6968
"""Test :func:`.navigate.workflow.generate` and associated CLI."""
7069

message_ix_models/tests/test_workflow.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
from message_ix import make_df
66

77
from message_ix_models import Workflow, testing
8-
from message_ix_models.testing import MARK
98
from message_ix_models.workflow import WorkflowStep, make_click_command, solve
109

1110
if TYPE_CHECKING:
@@ -92,7 +91,6 @@ def _wf(
9291
return wf
9392

9493

95-
@MARK[1]
9694
def test_make_click_command(
9795
request: "pytest.FixtureRequest", mix_models_cli: "CliRunner"
9896
) -> None:

0 commit comments

Comments
 (0)