Skip to content

Commit

Permalink
CI: update macOS workflow
Browse files Browse the repository at this point in the history
- Add Python 3.12 scripts to path (colcon is installed with Python 3.12).
- Rename workflows to include macOS version number.
- Add workflows for macOS Ventura and Sonoma.
- Remove workflow for macOS Sonoma.
- Update dependencies.
- Suppress colcon desktop notification error.

Signed-off-by: Rhys Mainwaring <[email protected]>
  • Loading branch information
srmainwaring committed Dec 18, 2023
1 parent 88e77ef commit 13b1764
Show file tree
Hide file tree
Showing 7 changed files with 104 additions and 5 deletions.
30 changes: 30 additions & 0 deletions .github/scripts/brew_install_deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,33 @@ do
brew link $DEP_PKG
done
done


# keg only packages to install - only link dependencies
PKGS_KEG_ONLY=(
[email protected]
)

# install packages
for PKG in "${PKGS_KEG_ONLY[@]}"
do
brew install ${PKG}
done

# The GitHub actions cache does restore links, so we force
# (re-)linking on all dependencies of packages we install.

for PKG in "${PKGS_KEG_ONLY[@]}"
do
# keg only do not link package

DEPS=$(brew deps ${PKG})
declare -a DEPS_ARRAY
DEPS_ARRAY=(${DEPS})

for DEP_PKG in "${DEPS_ARRAY[@]}"
do
# link package dependencies
brew link $DEP_PKG
done
done
7 changes: 5 additions & 2 deletions .github/scripts/macos_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/usr/local/opt/[email protected]/lib/pkgc
export CMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}:/usr/local/opt/qt@5

# Python scripts installed with: `pip3 install --user <package>`
export PATH=$PATH:$HOME/Library/Python/3.11/bin
export PATH=$PATH:$HOME/Library/Python/3.11/bin:$HOME/Library/Python/3.12/bin

colcon build --symlink-install --merge-install --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_TESTING=ON -DCMAKE_CXX_STANDARD=17 -DCMAKE_MACOSX_RPATH=FALSE -DCMAKE_INSTALL_NAME_DIR=$(pwd)/install/lib
# Use desktop_notification- to suppress error:
# ERROR:colcon.colcon_notification.desktop_notification.terminal_notifier:
# Could not find the colcon-terminal-notifier.app in the install prefix '/Users/runner/Library/Python/3.12'
colcon build --symlink-install --merge-install --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_TESTING=ON -DCMAKE_CXX_STANDARD=17 -DCMAKE_MACOSX_RPATH=FALSE -DCMAKE_INSTALL_NAME_DIR=$(pwd)/install/lib desktop_notification-
2 changes: 1 addition & 1 deletion .github/scripts/macos_test.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash

# Python scripts installed with: `pip3 install --user <package>`
export PATH=$PATH:$HOME/Library/Python/3.11/bin
export PATH=$PATH:$HOME/Library/Python/3.11/bin:$HOME/Library/Python/3.12/bin

colcon test --merge-install
colcon test-result --all --verbose
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: macOS Monterey Build Tools

on: [push, pull_request]
on: [pull_request]

jobs:
macos-monterey-ci:
Expand All @@ -20,5 +20,5 @@ jobs:
which pip3
which python3
python3 --version
export PATH=$PATH:/Users/runner/Library/Python/3.11/bin
export PATH=$PATH:/Users/runner/Library/Python/3.11/bin:/Users/runner/Library/Python/3.12/bin
colcon graph
File renamed without changes.
24 changes: 24 additions & 0 deletions .github/workflows/macos13-ventura-build-tools.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: macOS Ventura Build Tools

on: [pull_request]

jobs:
macos-ventura-ci:
runs-on: macos-13
name: macOS Ventura Build Tools
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Install Build Tools
run: |
pip3 install --user vcstool
pip3 install --user colcon-common-extensions
- name: Check Build Tools
run: |
which pip3
which python3
python3 --version
export PATH=$PATH:/Users/runner/Library/Python/3.11/bin:/Users/runner/Library/Python/3.12/bin
colcon graph
42 changes: 42 additions & 0 deletions .github/workflows/macos13-ventura-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: macOS Ventura CI

on: [pull_request]

jobs:
macos-ventura-ci:
runs-on: macos-13
name: macOS Ventura CI
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Cache brew packages
id: cache-brew-packages
uses: actions/cache@v3
with:
path: |
/usr/local/Cellar
/usr/local/Frameworks
/usr/local/Homebrew
/usr/local/bin
/usr/local/lib
/usr/local/opt
/usr/local/share
key: macos-build-cache-${{ hashFiles('./.github/scripts/brew_install_deps.sh') }}

- name: Install brew packages
run: |
bash ./.github/scripts/brew_install_deps.sh
- name: Install Build Tools
run: |
python3 -m pip install --user vcstool
python3 -m pip install --user colcon-common-extensions
- name: Build Wave Sim
run: |
bash ./.github/scripts/macos_build.sh
- name: Test Wave Sim
run: |
bash ./.github/scripts/macos_test.sh

0 comments on commit 13b1764

Please sign in to comment.