diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index b7fab29..7690c35 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -35,7 +35,7 @@ jobs: uses: actions/upload-artifact@v4 with: name: ${{ matrix.build.artifact }} - path: ${{ github.workspace }}/action/lpac*.* + path: ${{ github.workspace }}/build/*.* release: name: Release runs-on: ubuntu-latest diff --git a/docs/DEVELOPERS.md b/docs/DEVELOPERS.md index 8bf219c..c6de541 100644 --- a/docs/DEVELOPERS.md +++ b/docs/DEVELOPERS.md @@ -66,7 +66,7 @@ Install [zig](https://ziglang.org/download/) ```bash # clone this repo in the top-level folder -./scripts/build-woa.sh woa-zig +./scripts/build-woa.sh zig ``` #### Cross compile on Linux x86_64 host(GNU toolchain) @@ -74,7 +74,7 @@ Install [zig](https://ziglang.org/download/) ```bash # clone this repo in the top-level folder -./scripts/build-woa.sh woa-mingw +./scripts/build-woa.sh mingw ``` #### Build on Native Windows on ARM(MSYS2) diff --git a/scripts/build-ci.sh b/scripts/build-ci.sh index 342b015..53cbf23 100755 --- a/scripts/build-ci.sh +++ b/scripts/build-ci.sh @@ -45,22 +45,27 @@ set -x BUILD="$(mktemp -d)" cd "$BUILD" || exit 1 -mkdir "$WORKSPACE"/action + +ARTIFACT="$WORKSPACE/build" + +mkdir "$BUILD/output" +[ -d "$ARTIFACT" ] || mkdir "$ARTIFACT" + +cp "$WORKSPACE/src/LICENSE" "$BUILD/output/lpac-LICENSE" +cp "$WORKSPACE/euicc/LICENSE" "$BUILD/output/libeuicc-LICENSE" +cp "$WORKSPACE/cjson/LICENSE" "$BUILD/output/cjson-LICENSE" +cp "$WORKSPACE/dlfcn-win32/LICENSE" "$BUILD/output/dlfcn-win32-LICENSE" case "${1:-}" in make) cmake "$WORKSPACE" make -j - cp "$WORKSPACE/src/LICENSE" output/lpac-LICENSE - cp "$WORKSPACE/euicc/LICENSE" output/libeuicc-LICENSE - cp "$WORKSPACE/cjson/LICENSE" output/cjson-LICENSE - cp "$WORKSPACE/dlfcn-win32/LICENSE" output/dlfcn-win32-LICENSE - zip -r -j "$WORKSPACE/action/lpac-$KERNEL-$MATCHINE.zip" output/* + zip -r -j "$ARTIFACT/lpac-$KERNEL-$MATCHINE.zip" output/* ;; debian) cmake "$WORKSPACE" -DCPACK_GENERATOR=DEB make -j package - cp lpac_*.deb "$WORKSPACE"/action + cp lpac_*.deb "$ARTIFACT" ;; mingw) cmake "$WORKSPACE" -DCMAKE_TOOLCHAIN_FILE=./cmake/linux-mingw64.cmake @@ -68,11 +73,7 @@ mingw) CURL="$(download "$MINGW_CURL_WIN64_BLOB")" cp "$CURL"/curl-*-mingw/bin/libcurl-x64.dll output/libcurl.dll cp "$CURL"/curl-*-mingw/COPYING.txt output/libcurl-LICENSE - cp "$WORKSPACE/src/LICENSE" output/lpac-LICENSE - cp "$WORKSPACE/euicc/LICENSE" output/libeuicc-LICENSE - cp "$WORKSPACE/cjson/LICENSE" output/cjson-LICENSE - cp "$WORKSPACE/dlfcn-win32/LICENSE" output/dlfcn-win32-LICENSE - zip -r -j "$WORKSPACE/action/lpac-windows-x86_64-mingw.zip" output/* + zip -r -j "$ARTIFACT/lpac-windows-x86_64-mingw.zip" output/* ;; woa-mingw) TOOLCHAIN="$(download "$MINGW32_TOOLCHAIN_BLOB")" @@ -81,11 +82,7 @@ woa-mingw) CURL="$(download "$MINGW_CURL_WIN64A_BLOB")" cp "$CURL"/curl-*-mingw/bin/libcurl-arm64.dll output/libcurl.dll cp "$CURL"/curl-*-mingw/COPYING.txt output/libcurl-LICENSE - cp "$WORKSPACE/src/LICENSE" output/lpac-LICENSE - cp "$WORKSPACE/euicc/LICENSE" output/libeuicc-LICENSE - cp "$WORKSPACE/cjson/LICENSE" output/cjson-LICENSE - cp "$WORKSPACE/dlfcn-win32/LICENSE" output/dlfcn-win32-LICENSE - zip -r -j "$WORKSPACE/action/lpac-windows-arm64-mingw.zip" output/* + zip -r -j "$ARTIFACT/lpac-windows-arm64-mingw.zip" output/* ;; woa-zig) cmake "$WORKSPACE" -DCMAKE_TOOLCHAIN_FILE=./cmake/aarch64-windows-zig.cmake @@ -93,11 +90,7 @@ woa-zig) CURL="$(download "$MINGW_CURL_WIN64A_BLOB")" cp "$CURL"/curl-*-mingw/bin/libcurl-arm64.dll output/libcurl.dll cp "$CURL"/curl-*-mingw/COPYING.txt output/libcurl-LICENSE - cp "$WORKSPACE/src/LICENSE" output/lpac-LICENSE - cp "$WORKSPACE/euicc/LICENSE" output/libeuicc-LICENSE - cp "$WORKSPACE/cjson/LICENSE" output/cjson-LICENSE - cp "$WORKSPACE/dlfcn-win32/LICENSE" output/dlfcn-win32-LICENSE - zip -r -j "$WORKSPACE/action/lpac-windows-arm64-zig.zip" output/* + zip -r -j "$ARTIFACT/lpac-windows-arm64-zig.zip" output/* ;; *) echo "Usage: $0 {make,debian,mingw,woa-mingw,woa-zig}" diff --git a/scripts/build-woa.sh b/scripts/build-woa.sh index 473ddd2..1998568 100755 --- a/scripts/build-woa.sh +++ b/scripts/build-woa.sh @@ -6,7 +6,6 @@ WOA_TOOLCHAIN_VERSION="2024-02-08" MINGW_CURL_WIN64A_BLOB="https://curl.se/windows/dl-$CURL_VERSION/curl-$CURL_VERSION-win64a-mingw.zip" MINGW32_TOOLCHAIN_BLOB="https://github.com/Windows-on-ARM-Experiments/mingw-woarm64-build/releases/download/$WOA_TOOLCHAIN_VERSION/aarch64-w64-mingw32-msvcrt-toolchain.tar.gz" - function download { URL="$1" SAVED_PATH="$(mktemp)" @@ -34,33 +33,30 @@ set -x BUILD="$(mktemp -d)" cd "$BUILD" || exit 1 +mkdir "$BUILD/output" +cp "$WORKSPACE/src/LICENSE" output/lpac-LICENSE +cp "$WORKSPACE/euicc/LICENSE" output/libeuicc-LICENSE +cp "$WORKSPACE/cjson/LICENSE" output/cjson-LICENSE +cp "$WORKSPACE/dlfcn-win32/LICENSE" output/dlfcn-win32-LICENSE case "${1:-}" in -woa-mingw) +mingw) TOOLCHAIN="$(download "$MINGW32_TOOLCHAIN_BLOB")" cmake "$WORKSPACE" -DCMAKE_TOOLCHAIN_FILE=./cmake/linux-mingw64-woa.cmake "-DTOOLCHAIN_BIN_PATH=$TOOLCHAIN/bin" make -j CURL="$(download "$MINGW_CURL_WIN64A_BLOB")" cp "$CURL"/curl-*-mingw/bin/libcurl-arm64.dll output/libcurl.dll cp "$CURL"/curl-*-mingw/COPYING.txt output/libcurl-LICENSE - cp "$WORKSPACE/src/LICENSE" output/lpac-LICENSE - cp "$WORKSPACE/euicc/LICENSE" output/libeuicc-LICENSE - cp "$WORKSPACE/cjson/LICENSE" output/cjson-LICENSE - cp "$WORKSPACE/dlfcn-win32/LICENSE" output/dlfcn-win32-LICENSE ;; -woa-zig) +zig) cmake "$WORKSPACE" -DCMAKE_TOOLCHAIN_FILE=./cmake/aarch64-windows-zig.cmake make -j CURL="$(download "$MINGW_CURL_WIN64A_BLOB")" cp "$CURL"/curl-*-mingw/bin/libcurl-arm64.dll output/libcurl.dll cp "$CURL"/curl-*-mingw/COPYING.txt output/libcurl-LICENSE - cp "$WORKSPACE/src/LICENSE" output/lpac-LICENSE - cp "$WORKSPACE/euicc/LICENSE" output/libeuicc-LICENSE - cp "$WORKSPACE/cjson/LICENSE" output/cjson-LICENSE - cp "$WORKSPACE/dlfcn-win32/LICENSE" output/dlfcn-win32-LICENSE ;; *) - echo "Usage: $0 {woa-mingw,woa-zig}" + echo "Usage: $0 {mingw,zig}" exit 1 ;; esac