Gate Windows ARM64 packaging explicitly
ci / test (push) Canceled after 0s
ci / fuzz-smoke (push) Canceled after 0s
ci / macos-client (macos-aarch64, macos-14) (push) Canceled after 0s
ci / macos-client (macos-x86_64, macos-13) (push) Canceled after 0s
ci / windows-client (push) Canceled after 0s
ci / package-release (linux-x86_64, ubuntu-latest, , , ) (push) Canceled after 0s
ci / package-release (macos-aarch64, macos-14, , , ) (push) Canceled after 0s
ci / package-release (macos-x86_64, macos-13, , , ) (push) Canceled after 0s
ci / package-release (windows-aarch64, windows-latest, aarch64, windows, aarch64-pc-windows-msvc) (push) Canceled after 0s
ci / package-release (windows-x86_64, windows-latest, , , ) (push) Canceled after 0s
ci / remote-bench (push) Canceled after 0s
ci / publish-gitea-release (push) Canceled after 0s

This commit is contained in:
DuProcess
2026-07-16 21:35:55 -04:00
parent 42473ec064
commit dd6de42724
2 changed files with 37 additions and 4 deletions
+17 -4
View File
@@ -1,4 +1,4 @@
.PHONY: build test fmt clippy release-check 1.0-check reconnect-check hostile-network-check persistence-check package-check install package-release package-release-linux package-release-windows publish-release bench-report bench-local bench-local-json bench-docker-ssh bench-docker-mosh fuzz-smoke fuzz-deep soak-local tui-harness .PHONY: build test fmt clippy release-check 1.0-check reconnect-check hostile-network-check persistence-check package-check install package-release package-release-linux package-release-windows package-release-windows-arm64 publish-release bench-report bench-local bench-local-json bench-docker-ssh bench-docker-mosh fuzz-smoke fuzz-deep soak-local tui-harness
build: build:
cargo build --release cargo build --release
@@ -36,9 +36,19 @@ persistence-check:
package-check: package-check:
$(MAKE) package-release-linux $(MAKE) package-release-linux
$(MAKE) package-release-windows $(MAKE) package-release-windows
sh scripts/verify-release-artifacts.sh \ if command -v aarch64-w64-mingw32-clang >/dev/null 2>&1; then \
target/dosh-release/dosh-linux-x86_64.tar.gz \ $(MAKE) package-release-windows-arm64; \
target/dosh-release/dosh-windows-x86_64.zip sh scripts/verify-release-artifacts.sh \
target/dosh-release/dosh-linux-x86_64.tar.gz \
target/dosh-release/dosh-windows-x86_64.zip \
target/dosh-release/dosh-windows-aarch64.zip; \
else \
echo "warning: aarch64-w64-mingw32-clang not found; checking Windows ARM64 build without packaging"; \
cargo check --target aarch64-pc-windows-gnullvm --all-targets; \
sh scripts/verify-release-artifacts.sh \
target/dosh-release/dosh-linux-x86_64.tar.gz \
target/dosh-release/dosh-windows-x86_64.zip; \
fi
install: install:
sh install.sh --from-current sh install.sh --from-current
@@ -52,6 +62,9 @@ package-release-linux:
package-release-windows: package-release-windows:
DOSH_PACKAGE_OS=windows DOSH_PACKAGE_ARCH=x86_64 DOSH_PACKAGE_TARGET=x86_64-pc-windows-gnu sh scripts/package-release.sh DOSH_PACKAGE_OS=windows DOSH_PACKAGE_ARCH=x86_64 DOSH_PACKAGE_TARGET=x86_64-pc-windows-gnu sh scripts/package-release.sh
package-release-windows-arm64:
DOSH_PACKAGE_OS=windows DOSH_PACKAGE_ARCH=aarch64 DOSH_PACKAGE_TARGET=aarch64-pc-windows-gnullvm sh scripts/package-release.sh
publish-release: publish-release:
sh scripts/publish-gitea-release.sh sh scripts/publish-gitea-release.sh
+20
View File
@@ -62,6 +62,24 @@ else
release_dir="target/release" release_dir="target/release"
fi fi
need_target_linker() {
case "${target:-}" in
x86_64-pc-windows-gnu)
if ! command -v x86_64-w64-mingw32-gcc >/dev/null 2>&1 \
&& ! command -v x86_64-w64-mingw32-clang >/dev/null 2>&1; then
echo "windows/x86_64 packaging requires x86_64-w64-mingw32-gcc or x86_64-w64-mingw32-clang" >&2
exit 1
fi
;;
aarch64-pc-windows-gnullvm)
if ! command -v aarch64-w64-mingw32-clang >/dev/null 2>&1; then
echo "windows/aarch64 packaging requires aarch64-w64-mingw32-clang" >&2
exit 1
fi
;;
esac
}
if command -v git >/dev/null 2>&1 && git rev-parse --is-inside-work-tree >/dev/null 2>&1; then if command -v git >/dev/null 2>&1 && git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
if [ -z "${DOSH_BUILD_GIT_HASH:-}" ]; then if [ -z "${DOSH_BUILD_GIT_HASH:-}" ]; then
export DOSH_BUILD_GIT_HASH="$(git rev-parse --short=12 HEAD)" export DOSH_BUILD_GIT_HASH="$(git rev-parse --short=12 HEAD)"
@@ -78,6 +96,8 @@ if command -v git >/dev/null 2>&1 && git rev-parse --is-inside-work-tree >/dev/n
fi fi
fi fi
need_target_linker
if [ "$os" = "windows" ]; then if [ "$os" = "windows" ]; then
if [ -n "$target" ]; then if [ -n "$target" ]; then
cargo build --release --target "$target" --bin dosh-client --bin dosh-bench cargo build --release --target "$target" --bin dosh-client --bin dosh-bench