diff --git a/.github/workflows/freebsd.yml b/.github/workflows/freebsd.yml index 9dc8fe0b..4c9849b0 100644 --- a/.github/workflows/freebsd.yml +++ b/.github/workflows/freebsd.yml @@ -11,6 +11,7 @@ on: - Cargo.lock - "**/Cargo.toml" - .github/workflows/freebsd.yml + - packaging/freebsd/** workflow_dispatch: concurrency: @@ -37,7 +38,7 @@ jobs: # Nothing to bring back; copying the target dir out of the VM fails on large builds. copyback: false prepare: | - pkg install -y git curl pkgconf cmake python3 libxkbcommon wayland libX11 libXcursor libXrandr libXi libxcb mesa-libs vulkan-loader gtk3 fontconfig freetype2 alsa-lib + pkg install -y bash git curl pkgconf cmake python3 libxkbcommon wayland libX11 libXcursor libXrandr libXi libxcb mesa-libs vulkan-loader gtk3 fontconfig freetype2 alsa-lib curl -fsSL https://sh.rustup.rs | sh -s -- -y --profile minimal run: | . "$HOME/.cargo/env" @@ -46,3 +47,6 @@ jobs: rustc --version CARGO_PROFILE_DEV_DEBUG=0 cargo build --workspace --all-targets --locked CARGO_PROFILE_DEV_DEBUG=0 cargo test --workspace --locked + # The release packaging, end to end (a quicker release profile than the real release). + CARGO_PROFILE_RELEASE_LTO=false CARGO_PROFILE_RELEASE_CODEGEN_UNITS=16 packaging/freebsd/package.sh + tar -tzf dist/release/printcraft-*-freebsd-*.tar.gz | grep -E '/bin/printcraft$|/bin/printcraft-cli$|applications/' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d26fba09..349088ce 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -220,19 +220,21 @@ jobs: with: release: "14.3" usesh: true + cpu: 4 mem: 12288 envs: "PRINTCRAFT_VERSION PRINTCRAFT_BUILD_DATE VERSION_OVERRIDE" + # The same packages as the FreeBSD CI workflow, plus bash for the packaging script. prepare: | - pkg install -y bash curl git cmake pkgconf llvm19 perl5 \ - libxkbcommon wayland libX11 libXrandr libXi libXcursor mesa-libs gtk3 + pkg install -y bash git curl pkgconf cmake python3 libxkbcommon wayland libX11 libXcursor libXrandr libXi libxcb mesa-libs vulkan-loader gtk3 fontconfig freetype2 alsa-lib curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal --default-toolchain stable run: | set -e . "$HOME/.cargo/env" git config --global --add safe.directory "$PWD" - export LIBCLANG_PATH=/usr/local/llvm19/lib CARGO_BUILD_JOBS=4 if [ -n "$VERSION_OVERRIDE" ]; then cargo xtask version set "$PRINTCRAFT_VERSION"; fi packaging/freebsd/package.sh + # Only dist/ comes back out of the VM: copying the target dir back fails on large builds. + rm -rf target - uses: actions/upload-artifact@v4 with: name: release-freebsd-x86_64