config: Update 4 files
All checks were successful
Build-Test-Publish / build (linux/amd64) (push) Successful in 1m19s
Build-Test-Publish / build (linux/arm64) (push) Successful in 1m19s
Build-Test-Publish / test-install-from-scratch (linux/amd64) (push) Successful in 7s
Build-Test-Publish / test-install-from-scratch (linux/arm64) (push) Successful in 8s

This commit is contained in:
Your Name 2025-06-22 18:43:47 +12:00
parent b1e511bdd6
commit 9996932975
4 changed files with 8 additions and 46 deletions

View File

@ -24,8 +24,6 @@ jobs:
registry: gitea.jde.nz
username: DoesntMatter
password: ${{ secrets.DOCKER_PUSH_TOKEN }}
- name: install upx
run: ./install_upx.sh
- name: Build Test Publish All
run: |
SOS_WRITE_TOKEN=${{ secrets.SOS_WRITE_TOKEN }} ./buildtestpublish_all.sh

View File

@ -7,6 +7,8 @@ ARG CMAKE_BUILD_TYPE=Debug
# Set working directory
WORKDIR /app
SHELL ["/bin/bash", "-c"]
# Create cache directories
RUN mkdir -p /ccache
@ -62,6 +64,12 @@ RUN --mount=type=cache,target=/build \
find /build -type f -executable -name "*${PROJECT}*" -exec cp {} /output/${PROJECT} \; || \
find /build -type f -executable -exec cp {} /output/${PROJECT} \;
# if we're a release build, then run upx on the binary.
RUN if [ "${CMAKE_BUILD_TYPE}" = "Release" ]; then \
upx /output/${PROJECT}; \
fi
# Final stage that only contains the binary
FROM scratch AS project

View File

@ -45,10 +45,6 @@ docker build \
[ -f "${OUTPUT}/${PROJECT}" ] || die "Build failed."
# compact it!
command -v upx >/dev/null 2>&1 || die "upx not installed"
upx "${OUTPUT}/${PROJECT}"
#--------------------------------------------------------------------------------
SOS="${SCRIPT_DIR}/../sos/sos"
[ -f "${SOS}" ] || die "Failed to find sos"

View File

@ -1,40 +0,0 @@
#!/bin/bash
set -euo pipefail
# Determine architecture
ARCH=$(uname -m)
case $ARCH in
x86_64)
UPX_ARCH="amd64"
;;
aarch64)
UPX_ARCH="arm64"
;;
*)
echo "Unsupported architecture: $ARCH"
exit 1
;;
esac
# Download and install UPX v5.0.1
UPX_VERSION="5.0.1"
UPX_FILE="upx-${UPX_VERSION}-${UPX_ARCH}_linux.tar.xz"
UPX_URL="https://github.com/upx/upx/releases/download/v${UPX_VERSION}/${UPX_FILE}"
echo "Downloading UPX ${UPX_VERSION} for ${UPX_ARCH}..."
curl -L -o "${UPX_FILE}" "${UPX_URL}"
# Extract UPX
tar -xf "${UPX_FILE}"
# Install to /usr/local/bin
sudo cp "upx-${UPX_VERSION}-${UPX_ARCH}_linux/upx" /usr/local/bin/
sudo chmod +x /usr/local/bin/upx
# Verify installation
upx --version
# Cleanup
rm -rf "${UPX_FILE}" "upx-${UPX_VERSION}-${UPX_ARCH}_linux"
echo "UPX ${UPX_VERSION} installed successfully!"