Skip to content

Conversation

@quark17
Copy link
Collaborator

@quark17 quark17 commented Sep 24, 2025

This adds a timeout_override input to the build-and-test-macos and build-and-test-ubuntu call-able workflows. It's used to turn off timeouts for macos-13.

Homebrew no longer supports macOS 13, so installs are often from source, which can take a long time. The install of dependencies was taking a long time and exceeding the timeout. Because the GitHub VM images can sometimes be old, we added brew update to our jobs, to make sure that Homebrew sees the latest packages; but this can possibly cause Homebrew to install packages that don't need updating. We install ccache, to help save time by caching C/C++ compiler outputs, but the install of that was requiring the install of things like rust that would take 80 minutes to compile from source! Potentially, we could add a flag for disabling the use of ccache, but that might be complicated, as it would require a conditional in the install shell scripts and conditionals on and in various steps of the jobs.

We only need macos-13 long enough to build a tar-file for the imminent release, then we can remove it. So for now, I've just added a flag for disabling timeouts.

@quark17 quark17 force-pushed the ci-update-timeout branch 2 times, most recently from 62b4b47 to 906d5fe Compare September 25, 2025 08:01
since Homebrew doesn't support macOS 13 now, so the packages are
installed from source, which is slow.

The build-and-test workflows now take an input specifying whether
to override the timeouts, by setting them to the maximum (360).
@quark17 quark17 force-pushed the ci-update-timeout branch 2 times, most recently from b4cbd42 to 0d35808 Compare September 25, 2025 23:01
For macOS 13, Homebrew only has to resort to source install for newer
package versions, so don't update the package list for that runner.

The build-and-test-macos workflow now takes an input specifying
whether to update Homebrew.
@quark17 quark17 merged commit 5b592f4 into B-Lang-org:main Sep 26, 2025
73 checks passed
@quark17 quark17 deleted the ci-update-timeout branch September 26, 2025 04:25
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.

1 participant