diff options
author | Martin Matuska <martin@matuska.org> | 2020-02-08 23:02:53 +0100 |
---|---|---|
committer | Martin Matuska <martin@matuska.org> | 2020-02-09 00:24:39 +0100 |
commit | 0a09733d067d6790be87628c41ce1f97bbd01f1a (patch) | |
tree | 38c501743f57e215ee6d53b8f5526d5dbce2308b | |
parent | f0b8157f9611ccdcdd236902b48c58bb2db44a95 (diff) | |
download | libarchive-0a09733d067d6790be87628c41ce1f97bbd01f1a.tar.gz |
CI: generate and publish build artifacts on GitHub actions
Fixes #1313
-rw-r--r-- | .github/workflows/ci.yml | 26 | ||||
-rwxr-xr-x | build/ci/build.sh | 7 | ||||
-rwxr-xr-x | build/ci/github_actions/ci.cmd | 9 |
3 files changed, 37 insertions, 5 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 510cb9c2..2ffa2824 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,6 +33,14 @@ jobs: run: ./build/ci/build.sh -a install env: BS: ${{ matrix.bs }} + - name: Artifact + run: ./build/ci/build.sh -a artifact + env: + BS: ${{ matrix.bs }} + - uses: actions/upload-artifact@v1 + with: + name: libarchive-macos-${{ matrix.bs }}-${{ github.sha }} + path: libarchive.tar.xz Ubuntu: runs-on: ubuntu-latest @@ -66,7 +74,14 @@ jobs: run: ./build/ci/build.sh -a install env: BS: ${{ matrix.bs }} - + - name: Artifact + run: ./build/ci/build.sh -a artifact + env: + BS: ${{ matrix.bs }} + - uses: actions/upload-artifact@v1 + with: + name: libarchive-ubuntu-${{ matrix.bs }}-${{ matrix.crypto }}-${{ github.sha }} + path: libarchive.tar.xz Ubuntu-distcheck: runs-on: ubuntu-latest steps: @@ -114,3 +129,12 @@ jobs: shell: cmd env: BE: ${{ matrix.be }} + - name: Artifact + run: ./build/ci/github_actions/ci.cmd artifact + shell: cmd + env: + BE: ${{ matrix.be }} + - uses: actions/upload-artifact@v1 + with: + name: libarchive-windows-${{ matrix.be }}-${{ github.sha }} + path: libarchive.zip diff --git a/build/ci/build.sh b/build/ci/build.sh index 97d570b5..0e0c2fba 100755 --- a/build/ci/build.sh +++ b/build/ci/build.sh @@ -42,6 +42,7 @@ while getopts a:b:c:d:s: opt; do test) ;; install) ;; distcheck) ;; + artifact) ;; *) inputerror "Invalid action (-a)" ;; esac ACTIONS="${ACTIONS} ${OPTARG}" @@ -147,12 +148,16 @@ for action in ${ACTIONS}; do install) ${MAKE} ${MAKE_ARGS} install DESTDIR="${BUILDDIR}/destdir" RET="$?" - cd ${BUILDDIR}/destdir && ls -lR . + cd "${BUILDDIR}/destdir" && ls -lR . ;; distcheck) ${MAKE} ${MAKE_ARGS} distcheck RET="$?" ;; + artifact) + tar -c -J -C "${BUILDDIR}/destdir" -f "${CURDIR}/libarchive.tar.xz" usr + ls -l "${CURDIR}/libarchive.tar.xz" + ;; esac if [ "${RET}" != "0" ]; then exit "${RET}" diff --git a/build/ci/github_actions/ci.cmd b/build/ci/github_actions/ci.cmd index d5e625ef..37e86c40 100755 --- a/build/ci/github_actions/ci.cmd +++ b/build/ci/github_actions/ci.cmd @@ -94,12 +94,15 @@ IF "%1"=="deplibs" ( IF "%BE%"=="mingw-gcc" ( SET PATH=%MINGWPATH% CD build_ci\cmake - mingw32-make install DESTDIR=%cd%\destdir || EXIT /b 1 + mingw32-make install || EXIT /b 1 ) ELSE IF "%BE%"=="msvc" ( - cmake --build . --target INSTALL --config Release + CD build_ci\cmake + cmake --build . --target INSTALL --config Release || EXIT /b 1 ) +) ELSE IF "%1"=="artifact" ( + tar -c -C "C:\Program Files (x86)" --format=zip -f libarchive.zip libarchive ) ELSE ( - ECHO "Usage: %0% deplibs|configure|build|test|install" + ECHO "Usage: %0% deplibs|configure|build|test|install|artifact" @EXIT /b 0 ) @EXIT /b 0 |