Update version #23
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build dev binary | ||
on: | ||
workflow_dispatch: | ||
jobs: | ||
build-dev-win: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
include: | ||
- platform: x64 | ||
bcj: -mf=BCJ2 | ||
name: x64 | ||
- platform: Win32 | ||
bcj: -mf=BCJ2 | ||
name: x86 | ||
- platform: ARM64 | ||
bcj: # -mf=ARM64 | ||
name: arm64 | ||
name: Build ${{ matrix.name }} Windows binary | ||
runs-on: windows-2019 | ||
steps: | ||
- uses: ilammy/msvc-dev-cmd@v1 | ||
- uses: actions/checkout@v3 | ||
- run: msbuild -property:PlatformToolset=ClangCL -property:Configuration=Release -property:Platform=${{ matrix.platform }} par2cmdline.sln | ||
- run: move "${{ matrix.platform }}\Release\par2.exe" par2.exe && 7z a -t7z -mx=9 ${{ matrix.bcj }} par2.7z par2.exe | ||
- uses: actions/upload-artifact@v3 | ||
with: | ||
path: ./par2.7z | ||
name: par2cmdline-turbo-dev-win-${{ matrix.name }}.7z | ||
retention-days: 5 | ||
# build-dev-linux-static: | ||
# strategy: | ||
# fail-fast: false | ||
# matrix: | ||
# include: | ||
# - target: x86_64-linux-musl | ||
# xz_bcj: --x86 | ||
# name: amd64 | ||
# configure_host: | ||
# - target: aarch64-linux-musl | ||
# xz_bcj: # --arm64 # requires xz utils >=5.4 to decompress | ||
# name: aarch64 | ||
# configure_host: --host=aarch64 | ||
# - target: armv7l-linux-musleabihf | ||
# xz_bcj: --arm | ||
# name: armv7l | ||
# configure_host: --host=armv7l | ||
# name: Build ${{ matrix.name }} Linux static binary | ||
# runs-on: ubuntu-latest | ||
# steps: | ||
# - uses: actions/checkout@v3 | ||
# - uses: Lesmiscore/musl-cross-compilers@heracles | ||
# id: musl | ||
# with: | ||
# target: ${{ matrix.target }} | ||
# - run: aclocal && automake --warnings=all --add-missing && autoconf --warnings=all | ||
# - run: ./configure ${{ matrix.configure_host }} | ||
# env: | ||
# CC: ${{ steps.musl.outputs.path }}/${{ matrix.target }}-cc | ||
# CXX: ${{ steps.musl.outputs.path }}/${{ matrix.target }}-c++ | ||
# LDFLAGS: -static -s | ||
# - uses: actions/upload-artifact@v3 | ||
# with: | ||
# path: ./config.log | ||
# name: configure-linux-${{ matrix.arch }}.log | ||
# retention-days: 5 | ||
# if: ${{ failure() }} | ||
# - run: make | ||
# - run: ./par2 -h | ||
# if: ${{ matrix.name == 'amd64' }} | ||
# - run: make check | ||
# if: ${{ matrix.name == 'amd64' }} | ||
# - run: xz -9e ${{ matrix.xz_bcj }} --lzma2 par2 -c > par2.xz | ||
# - uses: actions/upload-artifact@v3 | ||
# with: | ||
# path: ./par2.xz | ||
# name: par2cmdline-turbo-dev-linux-${{ matrix.name }}.xz | ||
# retention-days: 5 | ||
build-dev-linux-static: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
include: | ||
- arch: amd64 | ||
xz_bcj: --x86 | ||
xcc: | ||
configure_host: | ||
- arch: arm64 | ||
xz_bcj: # --arm64 # requires xz utils >=5.4 to decompress | ||
xcc: aarch64-linux-gnu- | ||
configure_host: --host=aarch64-linux-gnu | ||
- arch: armhf | ||
xz_bcj: --arm | ||
xcc: arm-linux-gnueabihf- | ||
configure_host: --host=armv7l-linux-gnueabihf | ||
- arch: riscv64 | ||
xz_bcj: | ||
xcc: riscv64-linux-gnu- | ||
configure_host: --host=riscv64-linux-gnu | ||
name: Build ${{ matrix.arch }} Linux static binary | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: cyberjunk/gha-ubuntu-cross@v2 | ||
with: | ||
arch: ${{ matrix.arch }} | ||
if: ${{ matrix.arch != 'amd64' }} | ||
- run: aclocal && automake --warnings=all --add-missing && autoconf --warnings=all | ||
- run: ./configure ${{ matrix.configure_host }} | ||
env: | ||
CC: ${{ matrix.xcc }}gcc | ||
CXX: ${{ matrix.xcc }}g++ | ||
LDFLAGS: -static -s | ||
- uses: actions/upload-artifact@v3 | ||
with: | ||
path: ./config.log | ||
name: configure-linux-${{ matrix.arch }}.log | ||
retention-days: 5 | ||
if: ${{ failure() }} | ||
- run: make | ||
- run: ./par2 -h | ||
if: ${{ matrix.arch == 'amd64' }} | ||
- run: make check | ||
if: ${{ matrix.arch == 'amd64' }} | ||
- run: xz -9e ${{ matrix.xz_bcj }} --lzma2 par2 -c > par2.xz | ||
- uses: actions/upload-artifact@v3 | ||
with: | ||
path: ./par2.xz | ||
name: par2cmdline-turbo-dev-linux-${{ matrix.arch }}.xz | ||
retention-days: 5 | ||
build-dev-mac-x64: | ||
name: Build x64 MacOS binary | ||
runs-on: macos-latest | ||
steps: | ||
- uses: ConorMacBride/install-package@v1 | ||
with: | ||
brew: automake llvm | ||
- run: | | ||
if [ -f "`brew --prefix llvm`/bin/clang" ]; then | ||
echo "CC=`brew --prefix llvm`/bin/clang" >> $GITHUB_ENV | ||
echo "CXX=`brew --prefix llvm`/bin/clang++" >> $GITHUB_ENV | ||
fi | ||
- uses: actions/checkout@v3 | ||
- run: aclocal && automake --warnings=all --add-missing && autoconf --warnings=all | ||
- run: ./configure | ||
LDFLAGS: -s | ||
- uses: actions/upload-artifact@v3 | ||
with: | ||
path: ./config.log | ||
name: configure-macos-x64.log | ||
retention-days: 5 | ||
if: ${{ failure() }} | ||
- run: make | ||
- run: ./par2 -h | ||
- run: make check | ||
- run: xz -9e --x86 --lzma2 par2 | ||
- uses: actions/upload-artifact@v3 | ||
with: | ||
path: ./par2.xz | ||
name: par2cmdline-turbo-dev-macos-x64.xz | ||
retention-days: 5 | ||
build-dev-mac-arm64: | ||
name: Build arm64 MacOS binary | ||
# avoid OpenSSL 3.0.2 on 22.04: https://github.com/tpoechtrager/osxcross/issues/349 | ||
runs-on: ubuntu-20.04 | ||
steps: | ||
- uses: mbround18/setup-osxcross@main # OSXCROSS_TARGET unavailable in v1.1 | ||
with: | ||
osx-version: "12.3" | ||
- uses: actions/checkout@v3 | ||
- run: aclocal && automake --warnings=all --add-missing && autoconf --warnings=all | ||
- run: ./configure --host=aarch64-macos | ||
env: | ||
CC: oa64-clang | ||
CXX: oa64-clang++ | ||
AR: arm64-apple-darwin21.4-ar | ||
RANLIB: arm64-apple-darwin21.4-ranlib | ||
STRIP: arm64-apple-darwin21.4-strip | ||
LDFLAGS: -s | ||
- uses: actions/upload-artifact@v3 | ||
with: | ||
path: ./config.log | ||
name: configure-macos-arm64.log | ||
retention-days: 5 | ||
if: ${{ failure() }} | ||
- run: make | ||
- run: | | ||
wget -q -O- https://github.com/indygreg/apple-platform-rs/releases/download/apple-codesign%2F0.22.0/apple-codesign-0.22.0-x86_64-unknown-linux-musl.tar.gz | tar zxf - | ||
apple-codesign*/rcodesign sign par2 | ||
- if: ${{ failure() }} | ||
run: | | ||
ls | ||
ls apple-codesign* | ||
find . -name rcodesign | ||
- run: xz -9e --lzma2 par2 | ||
- uses: actions/upload-artifact@v3 | ||
with: | ||
path: ./par2.xz | ||
name: par2cmdline-turbo-dev-macos-arm64.xz | ||
retention-days: 5 |