Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI: Test on Linux arm64 runners #3778

Merged
merged 10 commits into from
Feb 6, 2025
6 changes: 4 additions & 2 deletions .github/workflows/ci_tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -57,12 +57,14 @@ jobs:
fail-fast: false
matrix:
python-version: ['3.11', '3.13']
os: [ubuntu-latest, macos-latest, windows-latest]
os: [ubuntu-latest, ubuntu-24.04-arm, macos-latest, windows-latest]
# Is it a draft Pull Request (true or false)?
isDraft:
- ${{ github.event.pull_request.draft }}
# Only run three jobs on Ubuntu for draft PRs
# Only run jobs on Ubuntu for draft PRs
exclude:
- os: ubuntu-24.04-arm
isDraft: true
- os: macos-latest
isDraft: true
- os: windows-latest
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci_tests_dev.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04, macos-15, windows-2025]
os: [ubuntu-24.04, ubuntu-24.04-arm, macos-15, windows-2025]
gmt_git_ref: [master]
timeout-minutes: 30
defaults:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci_tests_legacy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04, macos-13, windows-2019]
os: [ubuntu-22.04, ubuntu-22.04-arm, macos-13, windows-2019]
gmt_version: ['6.4']
timeout-minutes: 30
defaults:
Expand Down
3 changes: 3 additions & 0 deletions pygmt/tests/test_contour.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
Test Figure.contour.
"""

import platform
from pathlib import Path

import numpy as np
Expand Down Expand Up @@ -30,6 +31,7 @@ def fixture_region():


@pytest.mark.mpl_image_compare
@pytest.mark.xfail(platform.machine() == "aarch64", reason="Fails on Linux ARM64")
def test_contour_vec(region):
"""
Plot an x-centered gaussian kernel with different y scale.
Expand Down Expand Up @@ -130,6 +132,7 @@ def test_contour_multiple_levels(region):


@pytest.mark.mpl_image_compare(filename="test_contour_vec.png")
@pytest.mark.xfail(platform.machine() == "aarch64", reason="Fails on Linux ARM64")
def test_contour_incols_transposed_data(region):
"""
Make sure that transposing the data matrix still produces a correct result with
Expand Down
5 changes: 3 additions & 2 deletions pygmt/tests/test_x2sys_cross.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
"""

import copy
import platform
import sys
from pathlib import Path
from tempfile import TemporaryDirectory
Expand Down Expand Up @@ -270,7 +271,7 @@ def test_x2sys_cross_region_interpolation_numpoints():
)

assert isinstance(output, pd.DataFrame)
if sys.platform == "darwin":
if platform.machine() in {"aarch64", "arm64"}:
assert output.shape == (3894, 12)
# Check crossover errors (z_X) and mean value of observables (z_M)
npt.assert_allclose(output.z_X.mean(), -138.23215, rtol=1e-4)
Expand Down Expand Up @@ -298,7 +299,7 @@ def test_x2sys_cross_trackvalues():
output = x2sys_cross(tracks=["@tut_ship.xyz"], tag=tag, trackvalues=True)

assert isinstance(output, pd.DataFrame)
if sys.platform == "darwin":
if platform.machine() in {"aarch64", "arm64"}:
assert output.shape == (14374, 12)
# Check mean of track 1 values (z_1) and track 2 values (z_2)
npt.assert_allclose(output.z_1.mean(), -2422.973372, rtol=1e-4)
Expand Down