Skip to content

Commit

Permalink
gha/macos: Add jobs using GitHub macOS arm64 runners
Browse files Browse the repository at this point in the history
  • Loading branch information
anlambert committed Mar 20, 2024
1 parent cbaba5c commit 2ecf69d
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 27 deletions.
24 changes: 15 additions & 9 deletions .github/workflows/macos-homebrew-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,14 @@ jobs:
fail-fast: false
matrix:
config:
- name: Talipot build on macOS 12
- name: Talipot build on macOS 12 (x86_64)
os: macos-12
pyver: "3.11"
- name: Talipot build on macOS 13
os: macos-13
homebrew_path: /usr/local
- name: Talipot build on macOS 14 (arm64)
os: macos-14
pyver: "3.11"
homebrew_path: /opt/homebrew
steps:
- name: Cancel Previous Runs
uses: styfle/[email protected]
Expand Down Expand Up @@ -60,10 +62,14 @@ jobs:
working-directory: ./build
run: cmake .. -DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX=$PWD/install
-DCMAKE_C_COMPILER=/usr/local/opt/llvm/bin/clang
-DCMAKE_CXX_COMPILER=/usr/local/opt/llvm/bin/clang++
-DCMAKE_C_COMPILER=${{ matrix.config.homebrew_path }}/opt/llvm/bin/clang
-DCMAKE_CXX_COMPILER=${{ matrix.config.homebrew_path }}/opt/llvm/bin/clang++
-DCMAKE_SHARED_LINKER_FLAGS="-L/opt/homebrew/opt/llvm/lib/c++
-Wl,-rpath,/opt/homebrew/opt/llvm/lib/c++"
-DCMAKE_EXE_LINKER_FLAGS="-L/opt/homebrew/opt/llvm/lib/c++
-Wl,-rpath,/opt/homebrew/opt/llvm/lib/c++"
-DCMAKE_RANLIB=/usr/bin/ranlib
-DPython3_EXECUTABLE=/usr/local/opt/python@${{ matrix.config.pyver }}/bin/python${{ matrix.config.pyver }}
-DPython3_EXECUTABLE=${{ matrix.config.homebrew_path }}/opt/python@${{ matrix.config.pyver }}/bin/python${{ matrix.config.pyver }}
-DTALIPOT_BUILD_CORE_ONLY=ON
-DTALIPOT_BUILD_TESTS=ON
-DTALIPOT_BUILD_DOC=OFF
Expand All @@ -81,7 +87,7 @@ jobs:
working-directory: ./build
run: cmake .
-DTALIPOT_BUILD_CORE_ONLY=OFF
-DCMAKE_PREFIX_PATH=/usr/local/opt/qt6
-DCMAKE_PREFIX_PATH=${{ matrix.config.homebrew_path }}/opt/qt6
-DTALIPOT_USE_QT6=ON
- name: Talipot complete build
working-directory: ./build
Expand All @@ -96,11 +102,11 @@ jobs:
working-directory: ./build/install/bin
run: ./talipot --check-application-starts --debug-plugins-load
- name: Generate Talipot dmg bundle
if: matrix.config.os == 'macos-12'
if: matrix.config.os == 'macos-12' || matrix.config.os == 'macos-14'
working-directory: ./build
run: make bundle
- name: Upload Talipot bundle to GitHub Actions artifacts
if: matrix.config.os == 'macos-12'
if: matrix.config.os == 'macos-12' || matrix.config.os == 'macos-14'
uses: actions/upload-artifact@v4
with:
name: Talipot-macOS-bundles-${{ matrix.config.os }}
Expand Down
23 changes: 5 additions & 18 deletions .github/workflows/macos-macports-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
- name: Talipot build on macOS x86_64
os: macos-11
- name: Talipot build on macOS arm64
os: flyci-macos-large-latest-m1
os: macos-14
steps:
- name: Cancel Previous Runs
uses: styfle/[email protected]
Expand All @@ -32,7 +32,6 @@ jobs:
echo "date=$(date -u "+%Y-%m-%d-%H-%m-%S")" >> $GITHUB_OUTPUT
shell: bash
- name: Cache files
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest'
uses: actions/cache@v4
with:
path: |
Expand All @@ -43,13 +42,11 @@ jobs:
${{ matrix.config.os }}-ccache-
save-always: true
- name: Install MacPorts
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest'
run: |
curl -LO https://raw.githubusercontent.com/GiovanniBussi/macports-ci/master/macports-ci
source ./macports-ci install
source ./macports-ci ccache
- name: Install Talipot build dependencies
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest'
run: sudo port -N install
cmake
clang-${{ env.CLANG_VERSION }}
Expand All @@ -74,66 +71,56 @@ jobs:
quazip
py${{ env.PYTHON_VERSION_NO_DOT }}-pip
- name: Install Sphinx
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest'
run: pip-${{ env.PYTHON_VERSION }} install sphinx
- name: Save MacPorts ccache
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest'
run: source ./macports-ci ccache --save
- name: Create build directory
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest'
run: mkdir build
- name: Configure Talipot core build with CMake
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest'
working-directory: ./build
run: cmake .. -DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX=$PWD/install
-DCMAKE_C_COMPILER=/opt/local/bin/clang-mp-${{ env.CLANG_VERSION }}
-DCMAKE_CXX_COMPILER=/opt/local/bin/clang++-mp-${{ env.CLANG_VERSION }}
-DCMAKE_SHARED_LINKER_FLAGS="-L/opt/local/libexec/llvm-${{ env.CLANG_VERSION }}/lib
-Wl,-rpath,/opt/local/libexec/llvm-${{ env.CLANG_VERSION }}/lib"
-DCMAKE_EXE_LINKER_FLAGS="-L/opt/local/libexec/llvm-${{ env.CLANG_VERSION }}/lib
-Wl,-rpath,/opt/local/libexec/llvm-${{ env.CLANG_VERSION }}/lib"
-DPython3_EXECUTABLE=/opt/local/bin/python${{ env.PYTHON_VERSION }}
-DTALIPOT_BUILD_TESTS=ON
-DTALIPOT_USE_CCACHE=ON
-DTALIPOT_BUILD_DOC=OFF
-DTALIPOT_BUILD_CORE_ONLY=ON
- name: Talipot core build
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest'
working-directory: ./build
run: make -j4
- name: Install Talipot core build
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest'
working-directory: ./build
run: make -j4 install
- name: Run Talipot core build unit tests
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest'
working-directory: ./build
run: make tests
- name: Configure Talipot complete build with CMake
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest'
working-directory: ./build
run: cmake .
-DTALIPOT_BUILD_CORE_ONLY=OFF
-DTALIPOT_BUILD_DOC=ON
- name: Talipot complete build
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest'
working-directory: ./build
run: make -j4
- name: Install Talipot complete build
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest'
working-directory: ./build
run: make -j4 install
- name: Run Talipot complete build unit tests
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest'
working-directory: ./build
run: make tests
- name: Check Talipot application can be executed
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest'
working-directory: ./build/install/bin
run: ./talipot --check-application-starts --debug-plugins-load
- name: Generate Talipot dmg bundle
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest'
working-directory: ./build
run: make bundle
- name: Upload Talipot bundle to GitHub Actions artifacts
if: matrix.config.os == 'macos-11' || github.ref == 'refs/tags/dev-latest'
uses: actions/upload-artifact@v4
with:
name: Talipot-macOS-bundles-${{ matrix.config.os }}
Expand Down

0 comments on commit 2ecf69d

Please sign in to comment.