Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GitHub CI: Ensure that brew/apt-get is updated before installing #687

Merged
merged 2 commits into from Apr 6, 2024

Conversation

quark17
Copy link
Collaborator

@quark17 quark17 commented Apr 5, 2024

The macOS 11 and 12 CIs were failing in the jobs for building the docs, because the brew install command for mactex-nogui was not finding the URL for the tarfile to download. This was probably because the formulae (package info) was outdated and needed to be updated. Since then, macOS 12 started working -- likely that GitHub had created a new image for that VM, which had a more recent list of brew packages.

For Ubuntu, we run apt-get update before running apt-get install, to ensure that we have the latest info. This PR does the same for brew, plus adds one place that was missing for apt-get (in the Toooba test, which has the install command in the yaml and not in a shell script that gets called).

One thing to note is that, by updating the formulae, we may cause brew to install new dependencies (for the new package to be installed) if those have new versions. This is fine for macOS 12 and 13, for which brew has pre-built binaries that are downloaded; but for macOS 11, which brew no longer supports in that way, the packages must be built from source, which can take a long time. I've increased the timeout for macOS jobs by 60 minutes, to account for the increase in time.

It could be worth investigating whether the source builds could be cached and reused (as long as the VM image identifier is still the same).

The macOS VMs have recently failed to install mactex, because the
download URL is not found.  This is probably because "brew update" is
not being called, to update the formulae.  On Ubuntu, where apt-get is
used to install, in most cases "apt-get update" was being called, but
there was one place (Toooba test) that was missing.
to account for additional install time with "brew update" on macOS 11,
which takes longer because it is deprecated for binary install and has
to install from source.
@quark17 quark17 merged commit a4a73e8 into B-Lang-org:main Apr 6, 2024
43 checks passed
@quark17 quark17 deleted the brew-update branch April 6, 2024 04:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant