diff --git a/.github/workflows/test-alpine-linux.yml b/.github/workflows/test-minimal-alpine-linux.yml similarity index 92% rename from .github/workflows/test-alpine-linux.yml rename to .github/workflows/test-minimal-alpine-linux.yml index dc481645..656f36af 100644 --- a/.github/workflows/test-alpine-linux.yml +++ b/.github/workflows/test-minimal-alpine-linux.yml @@ -30,7 +30,7 @@ jobs: make -C build/debug test make -C build/release test make -C build/release install DESTDIR="$PWD/Install" - N=$(echo "upx-test-alpine-linux-clang-${{ matrix.container }}" | sed 's/[^0-9a-zA-Z_.-]/-/g') + N=$(echo "upx-test-minimal-alpine-linux-clang-${{ matrix.container }}" | sed 's/[^0-9a-zA-Z_.-]/-/g') echo "artifact_name=$N" >> $GITHUB_ENV - name: ${{ format('Upload artifact {0}', env.artifact_name) }} if: ${{ !startsWith(matrix.container, 'i386/') }} # i386: missing nodejs on host @@ -57,7 +57,7 @@ jobs: make -C build/debug test make -C build/release test make -C build/release install DESTDIR="$PWD/Install" - N=$(echo "upx-test-alpine-linux-gcc-${{ matrix.container }}" | sed 's/[^0-9a-zA-Z_.-]/-/g') + N=$(echo "upx-test-minimal-alpine-linux-gcc-${{ matrix.container }}" | sed 's/[^0-9a-zA-Z_.-]/-/g') echo "artifact_name=$N" >> $GITHUB_ENV - name: ${{ format('Upload artifact {0}', env.artifact_name) }} if: ${{ !startsWith(matrix.container, 'i386/') }} # i386: missing nodejs on host diff --git a/.github/workflows/test-minimal-chimera-linux.yml b/.github/workflows/test-minimal-chimera-linux.yml new file mode 100644 index 00000000..a0538d5d --- /dev/null +++ b/.github/workflows/test-minimal-chimera-linux.yml @@ -0,0 +1,41 @@ +# Copyright (C) Markus Franz Xaver Johannes Oberhumer +# test minimal number of packages required for building UPX under Chimera Linux +# clang: apk add clang cmake curl gmake gtar +# + +name: 'Test - Minimal Chimera build' +on: [workflow_dispatch] +env: + CMAKE_REQUIRED_QUIET: 'OFF' + CMAKE_VERBOSE_MAKEFILE: 'ON' + CTEST_OUTPUT_ON_FAILURE: 'ON' + DEBIAN_FRONTEND: noninteractive + +jobs: + job-chimera-clang: # uses cmake + make + if: true + strategy: { matrix: { container: ['chimeralinux/chimera:latest'] } } + name: ${{ format('clang {0}', matrix.container) }} + runs-on: ubuntu-latest + container: ${{ matrix.container }} + steps: + - name: ${{ format('Build clang {0}', matrix.container) }} + run: | + apk update && apk upgrade && apk add clang cmake curl gmake gtar + for p in make tar; do ln -s -v ../../bin/g$p /usr/local/bin/$p; done + curl -OL https://github.com/upx/upx/releases/download/v4.2.1/upx-4.2.1-src.tar.xz + tar -xoaf upx-*-src.tar.xz + cd upx-*-src + make build/debug CC="clang" CXX="clang++" + make build/release CC="clang" CXX="clang++" + make -C build/debug test + make -C build/release test + make -C build/release install DESTDIR="$PWD/Install" + N=$(echo "upx-test-minimal-chimera-linux-clang-${{ matrix.container }}" | sed 's/[^0-9a-zA-Z_.-]/-/g') + echo "artifact_name=$N" >> $GITHUB_ENV + - name: ${{ format('Upload artifact {0}', env.artifact_name) }} + if: false # missing nodejs on host + uses: actions/upload-artifact@v4 + with: + name: ${{ env.artifact_name }} + path: 'upx*/build/*/upx' diff --git a/misc/make/Makefile-extra.mk b/misc/make/Makefile-extra.mk index 27bfbb3e..a7f0b6d2 100644 --- a/misc/make/Makefile-extra.mk +++ b/misc/make/Makefile-extra.mk @@ -221,7 +221,7 @@ ifneq ($(CXX),) UPX_XTARGET := $(UPX_XTARGET) build/xtarget/$(UPX_XTARGET)/debug: PHONY; $(call run_config_and_build,$@,Debug) build/xtarget/$(UPX_XTARGET)/release: PHONY; $(call run_config_and_build,$@,Release) -build/xtarget/$(UPX_XTARGET)/%: export CC := $(CC) +build/xtarget/$(UPX_XTARGET)/%: export CC := $(CC) build/xtarget/$(UPX_XTARGET)/%: export CXX := $(CXX) # shortcuts xtarget/all: xtarget/debug xtarget/release