From 320ae244fd9e614ea37942894a73bf61e3073d99 Mon Sep 17 00:00:00 2001 From: Brooks Davis Date: Wed, 28 May 2025 17:45:56 +0100 Subject: [PATCH 1/2] macos CI: Don't upgrade pip It fails during uinstall and the tests run fine without the upgrade. Leave it comment out as a reminder that we used to do this. --- .github/workflows/python-app.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index 0851822b7..0a21134df 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -40,7 +40,8 @@ jobs: run: | # Use the system-provided python3 instead of actions/setup-python@v4 python3 --version - python3 -m pip install --break-system-packages --upgrade pip + # Don't upgrade pip. It currently fails to uninstall. + # python3 -m pip install --break-system-packages --upgrade pip python3 -m pip install --break-system-packages --upgrade pre-commit ruff==${{ env.RUFF_VERSION }} python3 -m pip install --break-system-packages -r requirements.txt - name: Lint with flake8 From 6b5448e7d79cf790f8d3f780216c602b3fb493f1 Mon Sep 17 00:00:00 2001 From: Brooks Davis Date: Fri, 7 Mar 2025 00:34:45 +0000 Subject: [PATCH 2/2] cheribsd-release: support vm images I've put support behind a flag as older CheriBSD trees will break without patchs. If you add the flag --cheribsd-release/build-vm-images to a cheribsd-release-* target and the source tree supports it, an image or images will be built as part of the release process. --- pycheribuild/projects/cross/cheribsd.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pycheribuild/projects/cross/cheribsd.py b/pycheribuild/projects/cross/cheribsd.py index b40d77957..705c9264b 100644 --- a/pycheribuild/projects/cross/cheribsd.py +++ b/pycheribuild/projects/cross/cheribsd.py @@ -2179,6 +2179,15 @@ def supported_architectures(self) -> "tuple[CrossCompileTarget, ...]": class BuildFreeBSDReleaseMixin(ReleaseMixinBase): + @classmethod + def setup_config_options(cls, **kwargs) -> None: + super().setup_config_options(**kwargs) + cls.build_vm_images = cls.add_bool_option( + "build-vm-images", + _allow_unknown_targets=True, + help="Build VM images with releases.", + ) + def check_system_dependencies(self) -> None: super().check_system_dependencies() self.check_required_system_tool("bsdtar", cheribuild_target="bsdtar", apt="libarchive-tools") @@ -2244,6 +2253,10 @@ def process(self) -> None: release_args.set_env(INSTALL="sh " + str(self.source_dir / "tools/install.sh")) release_args.set_env(XZ_CMD=str(self.objdir / "tmp/legacy/usr/bin/xz -T 0")) + release_args.set_with_options(QEMU=False) + if self.build_vm_images: + release_args.set_with_options(CLOUDWARE=True) + # Need bsdtar for @file support release_args.set_env(TAR_CMD="bsdtar")