Skip to content

Commit 8fd99ee

Browse files
authored
CI: support more CPU architectures (#711)
* support more arch and upgrade python version for pyinstaller building * Error: AssertionError [ERR_ASSERTION]: Unsupported architecture (only x64 is supported) * bump version * fix * fix * fix * fix * fix * fix * Revert "fix" This reverts commit f3c54bb. * fix * fix * fix * fix * fix * fix * fix * fix * fix * switch back to 2-core-ubuntu-arm
1 parent a356490 commit 8fd99ee

File tree

2 files changed

+36
-15
lines changed

2 files changed

+36
-15
lines changed

.github/workflows/release.yml

Lines changed: 35 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,35 @@ jobs:
1313

1414
strategy:
1515
matrix:
16-
python-version: ["3.11"]
17-
platform: ["ubuntu-20.04", "macos-13", "windows-latest"]
18-
architecture: ["x64"]
1916
include:
20-
- architecture: "x86"
21-
platform: "windows-latest"
22-
python-version: "3.11"
17+
# macOS builds
18+
- platform: macos-latest # M1/M2
19+
os: macos
20+
architecture: arm64
21+
- platform: macos-13 # Intel
22+
os: macos
23+
architecture: x64
24+
25+
# Windows builds
26+
- platform: windows-latest
27+
os: windows
28+
architecture: x64
29+
- platform: windows-latest
30+
os: windows
31+
architecture: x86 # 32-bit
32+
# NOT SUPPORTED YET
33+
# - platform: windows-2025
34+
# os: windows
35+
# architecture: arm64 # Windows ARM
36+
37+
# Linux builds
38+
- platform: ubuntu-latest
39+
os: linux
40+
architecture: x64
41+
- platform: 2-core-ubuntu-arm # or ubuntu-latest-arm
42+
# Check other options in https://github.com/mapillary/mapillary_tools/actions/runners
43+
os: linux
44+
architecture: arm64 # Linux ARM
2345

2446
runs-on: ${{ matrix.platform }}
2547

@@ -53,13 +75,12 @@ jobs:
5375
uses: FedericoCarboni/setup-ffmpeg@v3
5476
# ffmpeg is not supported in the latest macOS arch:
5577
# Error: setup-ffmpeg can only be run on 64-bit systems
56-
if: matrix.platform != 'macos-13'
78+
if: matrix.architecture == 'x64'
5779

58-
- name: Set up ${{ matrix.architecture }} Python ${{ matrix.python-version }}
80+
- name: Set up Python 3.11
5981
uses: actions/setup-python@v5
6082
with:
61-
python-version: ${{ matrix.python-version }}
62-
# optional x64 or x86. Defaults to x64 if not specified
83+
python-version: "3.11"
6384
architecture: ${{ matrix.architecture }}
6485

6586
- name: Install dependencies
@@ -79,7 +100,7 @@ jobs:
79100

80101
- name: Build and test with Pyinstaller on MacOS
81102
# Enable for Python3.11 only because it often fails at codesign (subprocess timeout)
82-
if: matrix.platform == 'macos-13'
103+
if: startsWith(matrix.platform, 'macos')
83104
run: |
84105
./script/build_osx
85106
# Could run full integration tests with the binary (it might be slow)
@@ -89,7 +110,7 @@ jobs:
89110
MAPILLARY_TOOLS__TESTS_EXIFTOOL_EXECUTABLE: perl ${{ github.workspace }}/exiftool/exiftool.pl
90111

91112
- name: Build and test with Pyinstaller on Ubuntu
92-
if: matrix.platform == 'ubuntu-20.04'
113+
if: contains(matrix.platform, 'ubuntu')
93114
run: |
94115
./script/build_linux
95116
# Could run full integration tests with the binary (it might be slow)
@@ -99,7 +120,7 @@ jobs:
99120
MAPILLARY_TOOLS__TESTS_EXIFTOOL_EXECUTABLE: perl ${{ github.workspace }}/exiftool/exiftool.pl
100121

101122
- name: Build and test with Pyinstaller on Windows
102-
if: matrix.platform == 'windows-latest'
123+
if: startsWith(matrix.platform, 'windows')
103124
run: |
104125
./script/build_bootloader.ps1
105126
./script/build_win.ps1
@@ -123,7 +144,7 @@ jobs:
123144
if: ${{ startsWith(github.ref, 'refs/tags/') }}
124145
name: Upload release to PyPI
125146
needs: ["build_and_release"]
126-
runs-on: "ubuntu-20.04"
147+
runs-on: "ubuntu-latest"
127148
steps:
128149
- uses: actions/checkout@v4
129150

mapillary_tools/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
VERSION = "0.13.0"
1+
VERSION = "0.13.1a1"

0 commit comments

Comments
 (0)