[backport] macos ci fixes for v1.16 (#25672)

* ci: lockdown gcc v9 for macos

Signed-off-by: Ramon Roche <mrpollo@gmail.com>

* pxh: do not use variable sized array on the stack

This is a compiler-specific extension

* ci: macos build on older gcc

Signed-off-by: Ramon Roche <mrpollo@gmail.com>

---------

Signed-off-by: Ramon Roche <mrpollo@gmail.com>
Co-authored-by: Beat Küng <beat-kueng@gmx.net>
This commit is contained in:
Ramon Roche
2025-09-30 14:49:26 -07:00
committed by GitHub
parent 1c181fa8ec
commit ac5ed50b37
3 changed files with 11 additions and 4 deletions
+5 -2
View File
@@ -16,7 +16,7 @@ on:
jobs:
build:
runs-on: macos-latest
runs-on: macos-14
strategy:
matrix:
config: [
@@ -32,7 +32,8 @@ jobs:
- uses: actions/checkout@v4
- name: setup
run: ./Tools/setup/macos.sh; ./Tools/setup/macos.sh
run: |
./Tools/setup/macos.sh
- name: Prepare ccache timestamp
id: ccache_cache_timestamp
@@ -40,12 +41,14 @@ jobs:
run: |
string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC)
message("::set-output name=timestamp::${current_date}")
- name: ccache cache files
uses: actions/cache@v4
with:
path: ~/.ccache
key: macos_${{matrix.config}}-ccache-${{steps.ccache_cache_timestamp.outputs.timestamp}}
restore-keys: macos_${{matrix.config}}-ccache-
- name: setup ccache
run: |
mkdir -p ~/.ccache
+2
View File
@@ -42,6 +42,8 @@ else
echo "Installing PX4 general dependencies (homebrew px4-dev)"
brew tap PX4/px4
brew install px4-dev
# lock down gcc to v9 for v1.16 branch
brew install gcc-arm-none-eabi
brew install ncurses
brew install python-tk
fi
@@ -101,7 +101,7 @@ int Pxh::process_line(const std::string &line, bool silently_fail)
// Note that argv[argc] always needs to be a nullptr.
// Therefore add one more entry.
const char *arg[words.size() + 1];
char **arg = new char *[words.size() + 1];
for (unsigned i = 0; i < words.size(); ++i) {
arg[i] = (char *)words[i].c_str();
@@ -110,7 +110,7 @@ int Pxh::process_line(const std::string &line, bool silently_fail)
// Explicitly set this nullptr.
arg[words.size()] = nullptr;
int retval = _apps[command](words.size(), (char **)arg);
int retval = _apps[command](words.size(), arg);
if (retval) {
if (!silently_fail) {
@@ -118,6 +118,8 @@ int Pxh::process_line(const std::string &line, bool silently_fail)
}
}
delete[] arg;
return retval;
} else if (command == "help") {