@@ -178,10 +178,31 @@ jobs:
178178 run : |
179179 brew update
180180 brew install --overwrite python@3.12
181- brew install node
182- brew install chezscheme
183- brew install coreutils
181+ brew install node@24
182+
183+ # Pinning versions at Brew for packages which does not support version selection
184+ # See: https://www.ericbariaux.com/posts/brew_rollback/
185+ brew tap-new idris2-ci-macos/core-local
186+
187+ brew tap homebrew/core --force
188+ brew extract --git-revision=a51847b50de2a3c6d31cb459f5e60e039f775617 chezscheme idris2-ci-macos/core-local
189+ brew install --build-from-source idris2-ci-macos/core-local/chezscheme@10.3.0
190+
191+ brew extract --git-revision=d62ffcbcdcfb84618c994e2cce054b8ab28bef51 coreutils idris2-ci-macos/core-local
192+ brew install idris2-ci-macos/core-local/coreutils@9.9
193+
194+ # For pinning cask need another repository
195+ # See: https://emmer.dev/blog/installing-old-homebrew-cask-versions/
196+ brew tap --force homebrew/cask
197+ # Unfortunately brew extract does not support Casks
198+ mkdir -p "$(brew --repository idris2-ci-macos/core-local)/Casks/r"
199+ pushd "$(brew --repository homebrew/cask)"
200+ git show "d602a9e79bab276995832c476a849a9e6b9105c7:Casks/r/racket.rb" > "$(brew --repository idris2-ci-macos/core-local)/Casks/r/racket.rb"
201+ popd
202+ brew install --cask idris2-ci-macos/core-local/racket
203+
184204 echo "$HOME/.idris2/bin" >> "$GITHUB_PATH"
205+ echo "/opt/homebrew/bin" >> "$GITHUB_PATH"
185206 - name : Make bootstrap folder readonly
186207 run : chmod -R a-w bootstrap
187208 - name : Build Idris 2 from bootstrap
@@ -345,10 +366,26 @@ jobs:
345366 run : |
346367 brew update
347368 brew install --overwrite python@3.12
348- brew install chezscheme
349- brew install node
350- brew install coreutils
369+ brew install node@24
370+
371+ # See notes at "macos-bootstrap-chez"
372+ brew tap homebrew/core --force
373+ brew tap-new idris2-ci-macos/core-local
374+ brew extract --git-revision=a51847b50de2a3c6d31cb459f5e60e039f775617 chezscheme idris2-ci-macos/core-local
375+ brew install --build-from-source idris2-ci-macos/core-local/chezscheme@10.3.0
376+
377+ brew extract --git-revision=d62ffcbcdcfb84618c994e2cce054b8ab28bef51 coreutils idris2-ci-macos/core-local
378+ brew install idris2-ci-macos/core-local/coreutils@9.9
379+
380+ brew tap --force homebrew/cask
381+ mkdir -p "$(brew --repository idris2-ci-macos/core-local)/Casks/r"
382+ pushd "$(brew --repository homebrew/cask)"
383+ git show "d602a9e79bab276995832c476a849a9e6b9105c7:Casks/r/racket.rb" > "$(brew --repository idris2-ci-macos/core-local)/Casks/r/racket.rb"
384+ popd
385+ brew install --cask idris2-ci-macos/core-local/racket
386+
351387 echo "$HOME/.idris2/bin" >> "$GITHUB_PATH"
388+ echo "/opt/homebrew/bin" >> "$GITHUB_PATH"
352389 chmod +x "$HOME/.idris2/bin/idris2" "$HOME/.idris2/bin/idris2_app/"*
353390 - name : Build self-hosted
354391 run : make all IDRIS2_BOOT="idris2 -Werror" && make install
0 commit comments