summaryrefslogtreecommitdiff
path: root/.github/workflows/macos.yml
AgeCommit message (Collapse)Author
2025-12-10CI: Delete the macos qt4 jobDylan Baker
The macos 13 runner has been removed, and OpenSSL 1.0 fails to build, so let's just retire this test.
2025-06-18Remove coverage measurement.Jussi Pakkanen
2025-05-23ci: do not update pip on macosPaolo Bonzini
The workaround in commit 2f146775e ("Work around the mising RECORD file with homebrew pip.", 2025-05-04) is brittle and has broken again. Do not bother updating setuptool and pip at all, they should be relatively up to date on homebrew. Suggested-by: Eli Schwartz <eschwartz93@gmail.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2025-05-04Work around the mising RECORD file with homebrew pip.Russell Keith-Magee
2025-02-04ci: Update appleclang job to test Xcode-provided PythonL. E. Segovia
2024-12-20Prioritise Apple's toolchain in project-tests-appleclangCarlo Cabrera
Using Homebrew Clang leads to failures when testing objfw. We probably want to ensure we use Apple Clang here given the workflow job name, in any case.
2024-07-30ci: Update actions/upload-artifact to v4 to fix deprecationsNirbheek Chauhan
2024-07-30ci: Update actions/setup-python to v5 to fix deprecationsNirbheek Chauhan
2024-07-30ci: Update to checkout@v4 to squelch node warningsNirbheek Chauhan
Keep using v3 for Bionic because of https://github.com/mesonbuild/meson/pull/13424
2024-06-26CI/MacOS: Add libompDylan Baker
2024-04-28Install ObjFW on macOS, Fedora and MSYS2 CIJonathan Schleifer
2024-04-25CI/MacOS: move some things out of the run script into the env keyDylan Baker
2024-04-25CI/MacOS: add missing packagesDylan Baker
There are some additional packages that seem to be needed on Apple based Silicon.
2024-04-25CI/MacOS: Fix paths that have changed from /usr/local to /opt/homebrewDylan Baker
homebrew installs to /usr/local on Intel based macs, but has moved to /opt/homebrew for those using Apple Silicon.
2024-04-25CI/MacOS: switch the Qt4 job to run on an Intel MacDylan Baker
Qt4 doesn't seem to work on Apple Silicon because OpenSSL 1.0 (a requirement for Qt4) doesn't build on it correctly, trying to use X86 assembly.
2024-02-21ciimage: fix pathological brokenness in homebrew packaging of pythonEli Schwartz
Followup to commit 5c479d7a13a518c18ccb4dc3b6bdd7bfc2a9bdb5. In this case, PEP 668 was created to allow a thing that Debian wanted, which is for `pip install foobar` to not break the system python. This despite the fact that the system python is fine, unless you use sudo pip which is discouraged for separate reasons, and it is in fact quite natural to install additional packages to the user site-packages. It isn't even the job of the operating system to decide whether the user site-packages is broken, whether the operating system gets the answer correct or not -- it is the job of the operating system to decide whether the operating system is broken, and that can be solved by e.g. enforcing a shebang policy for distribution-packaged software, which distros like Fedora do, and mandating not only that python shebangs do not contain `/usr/bin/env`, but that they *do* contain -s. Anyway, this entire kerfuffle is mostly just a bit of pointless interactive churn, but it bites pretty hard for our use case, which is a container image, so instead of failing to run because of theoretical conflicts with the base system (we specifically need base system integration...) we fail to run because 5 minutes into pulling homebrew updates at the very beginning, pip refuses point-blank to work. I especially do not know why it is the job of the operating system to throw errors intended for interactive users at people designing system integration containers who cannot "break" the system python anyway as it is thrown away after every use. Fix this by doing what homebrew should have done from the beginning, and opting containers out of this questionable feature entirely.
2024-02-14workflows: Trigger on all test harness changesAndrew McNulty
The following workflows have been updated so that they are triggered when the any of the test harnesses are updated: macos, os-comp, msys2 Previously only changes to `run_unittests.py` caused these workflows to be executed.
2024-01-02CI: fix even more brokenness in the macos CIEli Schwartz
Commit 191449f60879a622661b96600babaec67477d5bb has numerous issues, and being completely invalid yml syntax was just the tip of the iceberg. In this case, it fails the github schema, which requires that env be adjunct to a job or step definition, rather than its own thing. It did not even make sense in context, since the purpose of the variable is to modify brew. Fixes: #12644 Fixes: #12681
2024-01-01CI: Fix macos.yml error "Invalid workflow file"Chris Mayo
2023-12-20ci: Don't auto-update brew when installingNirbheek Chauhan
We're getting errors that we don't care about on the CI like: ``` ==> Pouring node@18--18.19.0.monterey.bottle.tar.gz The formula built, but is not symlinked into /usr/local Error: The `brew link` step did not complete successfully Could not symlink lib/node_modules/npm/docs/content/commands/npm-sbom.md Target /usr/local/lib/node_modules/npm/docs/content/commands/npm-sbom.md already exists. You may want to remove it: rm '/usr/local/lib/node_modules/npm/docs/content/commands/npm-sbom.md' ``` We don't care about node, the only reason it's getting updated is because it's already installed on the image and brew is auto-updating it. So let's disable auto-update.
2023-12-13do not trigger workflows on dev branchesCharles Brunet
2023-12-10unittests: migrate from jsonschema to fastjsonschemaEli Schwartz
The former has rust dependencies, which lead to max capping on Cygwin since there is no rust compiler there. But it turns out there are other disadvantages of jsonschema: - it involves installing 5 wheels, instead of just 1 - it is much slower To give some perspective to the latter issue, this is what it looks like when I test with jsonschema: ``` ===== 1 passed, 509 deselected in 3.07s ===== Total time: 3.341 seconds ``` And here's what it looks like when I test with fastjsonschema: ``` ===== 1 passed, 509 deselected, 1 warning in 0.28s ===== Total time: 0.550 seconds ``` I cannot think of a good reason to use the former. Although in order to work on old CI images, we'll support it as a fallback mechanism
2023-04-24ci: Don't error out CI if codecov upload failsNirbheek Chauhan
2023-04-21ci: Move to the codecov github actionNirbheek Chauhan
The pypi package was suddenly removed. Not the most confidence-inspiring deprecation/migration: https://about.codecov.io/blog/message-regarding-the-pypi-package/
2022-11-28github workflows: upgrade actions/upload-artifact to version 3Eli Schwartz
This is a no-op change from v2 to v3, but github complains that nodejs is outdated if you don't. It's not obvious why this required a major version bump... However, half of our uses are on v1, which has a decent fix: failure to upload artifacts constitutes a step failure.
2022-11-28github workflows: upgrade actions/checkout to version 3Eli Schwartz
This is a no-op change, but github complains that nodejs is outdated if you don't. It's not obvious why this required a major version bump...
2022-11-28github workflows: upgrade setup-python to version 4Eli Schwartz
Not much changes, really, other than it now sets PKG_CONFIG_PATH to point to the python it just installed. This should generally not be a problem (Meson's python module sets that anyway based on the executable's introspection data).
2022-11-14CI: force macOS to use brew's python at all costsEli Schwartz
The default actions one is broken in two ways, and additionally overwrote homebrew's symlinks to begin with.
2022-10-30ci: Fix usage of concurrency in branches other than masterL. E. Segovia
2022-10-24ci: run `brew update` before `brew install`Carlo Cabrera
This makes sure we don't end up picking up an older version of LLVM that does not work.
2022-10-24Revert "ci: Fix llvm detection on macOS CI"Carlo Cabrera
Fixed in Homebrew/homebrew-core#112154. This reverts commit c20fb659f600149c08d635fc3750f03632164b9b.
2022-10-02ci: Fix llvm detection on macOS CINirbheek Chauhan
Downgrade to LLVM-14 from LLVM-15 which is somewhat broken when using static linking at present: https://github.com/Homebrew/discussions/discussions/3666#discussioncomment-3681821 We can't use LLVM's lld instead of ld on macOS because we don't detect it as an Apple linker and pass --as-needed etc to it. Even when that is fixed and we set -lto_library etc correctly, the linker just hangs. LLVM@14 is keg-only, so we need to add CPPFLAGS / LDFLAGS to the keg subdir inside /usr/local The LLVM@15 test is shared-only now and moved to the qt4 macOS job.
2022-09-03ci: Fix macOS qt4 detectionNirbheek Chauhan
Need to link the qt4 install so it's in PATH. Also need to use a symlink to fix breakage in the Tap.
2022-06-24chore: Set permissions for GitHub actionsneilnaveen
Restrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won’t be able to do much. - Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs [Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/) Signed-off-by: neilnaveen <42328488+neilnaveen@users.noreply.github.com>
2022-03-29gnome: Fix gtkdoc when using multiple Apple frameworksJan Tojnar
The `-framework Foundation -framework CoreFoundation` ended up de-duplicated by OrderedSet into `-framework Foundation CoreFoundation`.
2022-02-14unittests: fine-tune the check for whether we are in CIEli Schwartz
The $CI environment variable may be generally set by Github or Gitlab actions, and is not a reliable indicator of whether we are running "CI". It could also, for an absolutely random example that didn't *just happen*, be Alpine Linux's attempt to enable the Meson testsuite in their packaging, which... uses Gitlab CI. In this case, we do want to perform normal skipping on not-found requirements. Instead of checking for $CI, check for $MESON_CI_JOBNAME as we already use that in all of our own CI jobs for various reasons. This makes it easier for linux distros to package Meson without accumulating hacks like "run the testsuite using `env -u CI`".
2021-12-06ci: install pytest-subtestsDylan Baker
Which lets pytest understand unittest.subtest
2021-09-04ci: Use GitHub concurrencyDaniel Mensinger
2021-08-18Test boost-python on macOSKevin Meagher
Previously the meson test case would only test boost-python on linux. With the #7909 it is now possible to use boost-python on macOS/homebrew. This enables the boost-python test on both linux and macOS. It also uses python.extension_module() instead of shared_library to make the python extension module.
2021-07-26Split run_unittests.py fileXavier Claessens
2021-07-13Set MESON_CI_JOBNAME for all CI jobsJon Turney
Set MESON_CI_JOBNAME for all CI jobs which run project tests. (Note that ${{ github.job }} is the literal job.id used in the yaml, not any name given to the job with job.id.name, and so is the same for all matrix entries, and thus not suitable for our purposes there).
2021-06-22coverage: Enable coverage reportsDaniel Mensinger
2021-03-04ci: Downgrade Qt on MacOS from Qt6 to Qt5Daniel Mensinger
2020-12-11ci: rebuild macos image on run_unittest.py changesDylan Baker
2020-11-11CI: combine macos and ci_frameworks actionsDylan Baker
We're already covering most of the actions through the generic macos actions, but we should keep the qt4 action.
2020-11-11actions: Add project tests actions for macosDylan Baker
2020-11-11actions: Add unittests for macosDylan Baker