Skip to content

Commit

Permalink
Fix: Avoid Doing "brew update" for macOS Runner
Browse files Browse the repository at this point in the history
We avoid doing "brew update" - the brew formulas that are preinstalled
on the github runner image are likely consistent with the
pre-installed software on the image. If we do "brew upate", and then
install something new with brew (specifically meson), and the
"something new" depends on pre-installed software on the image, and
there are new versions of the pre-installed software revealed by doing
"brew update", then when we install the "something new" brew may try
and also install a new version of the pre-installed software on which
the "something new" depends, but that attempt to install a new version
of the pre-installed software can fail as a result of being blocked by
the software that is already installed.

Also, removed this branch from list of branches to run macos.yaml.
  • Loading branch information
dgreatwood committed Oct 14, 2024
1 parent ee4738f commit ffb4e48
Showing 1 changed file with 14 additions and 4 deletions.
18 changes: 14 additions & 4 deletions .github/workflows/macos.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ on:
push:
branches:
- master
- macOSRunner2
pull_request:
branches:
- master
Expand All @@ -32,8 +31,7 @@ jobs:
strategy:
fail-fast: false
matrix:
# os: [ 'macos-12', 'macos-13', 'macos-14', 'macos-15' ]
os: [ 'macos-13' ] # !!!!!!!!
os: [ 'macos-12', 'macos-13', 'macos-14', 'macos-15' ]
compiler: [ 'gcc', 'clang' ]
sanitizer: [ 'address', 'undefined', 'none' ]
tls: [ 'true', 'false' ]
Expand All @@ -47,7 +45,19 @@ jobs:
run: |
if [ ${{ matrix.compiler }} = gcc ]; then compiler=g++; else compiler="clang lld ?exact-name(libclang-rt-dev)"; fi
# brew update # !!!!!!!!
# Avoid doing "brew update" - the brew formulas that are
# preinstalled on the github runner image are likely
# consistent with the pre-installed software on the image. If
# we do "brew upate", and then install something new with
# brew, and the "something new" depends on pre-installed
# software on the image, and there are new versions of the
# pre-installed software revealed by doing "brew update", then
# when we install the "something new" brew may try and also
# install a new version of the pre-installed software on which
# the "something new" depends, but that attempt to install a
# new version of the pre-installed software can fail as a
# result of being blocked by the software that is already
# installed.
if ! type "meson" > /dev/null; then brew install meson --overwrite; fi
Expand Down

0 comments on commit ffb4e48

Please sign in to comment.