diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 644b2b04..9b1d36a4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,11 +34,34 @@ jobs: # Remove the symlinks that cause issues. find /usr/local/bin -lname '*/Library/Frameworks/Python.framework/*' -delete sudo rm -rf /Library/Frameworks/Python.framework/ + # + ###################################################################### + # For brew formulas that have issues during `brew upgrade` due to + # symlinks already existing, we use the strategy: + # brew list && (brew unlink ... ) + # The `brew list ` will error if it is not installed. When + # the logs say something like "No such keg: /some/path/" + # that means the band-aid can be removed from DEE CI. + ###################################################################### # On 2023-02-24 `brew upgrade` resulted in a failure linking tcl-tk. - brew unlink tcl-tk + brew list tcl-tk && brew unlink tcl-tk + # # On 2023-04-06 `brew upgrade` resulted in a failure upgrading `go`. - brew unlink go && rm -f /usr/local/bin/go && rm -f /usr/local/bin/gofmt + brew list go && ( \ + brew unlink go && \ + rm -f /usr/local/bin/go && \ + rm -f /usr/local/bin/gofmt \ + ) + # + # On 2023-09-25 there were issues upgrading node@18 from 18.17.1 to + # 18.18.0, caused by `brew upgrade`. + brew list node@18 && ( \ + brew unlink node@18 && \ + rm -rf /usr/local/lib/node_modules/ \ + ) + ###################################################################### # Run upgrades now to fail-fast (setup scripts do this anyway). + ###################################################################### brew update && brew upgrade # On 2023-02-16 the pip3.11 symlink was mysteriously missing. brew unlink python@3.11 && brew link python@3.11