This repository has been archived by the owner on Feb 25, 2024. It is now read-only.
fixes #18
Workflow file for this run
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: Release | |
on: | |
push: | |
tags: | |
- '*.*.*' | |
jobs: | |
make-source: | |
name: Make source tarball | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
submodules: recursive | |
- name: Create a version file. | |
run: | | |
export MRZIP_MAJOR=`git describe --tags --abbrev=0 | sed 's/v//' | cut -d. -f1` | |
export MRZIP_MINOR=`git describe --tags --abbrev=0 | sed 's/v//' | cut -d. -f2` | |
export MRZIP_PATCH=`git describe --tags --abbrev=0 | sed 's/v//' | cut -d. -f3` | |
export FULLVER=`git describe --tags --abbrev=0 | sed 's/v//'` | |
echo -ne "$FULLVER\n$MRZIP_MAJOR\n$MRZIP_MINOR\n$MRZIP_PATCH\n" > .version | |
tar -czf /tmp/mrzip-src.tar.gz --exclude-vcs . | |
- name: Upload source tarball | |
uses: softprops/action-gh-release@v1 | |
with: | |
files: /tmp/mrzip-src.tar.gz | |
build-clang: | |
name: Ubuntu Clang | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
submodules: recursive | |
- name: Install dependencies | |
run: | | |
sudo apt update -q -y | |
sudo apt install -q -y clang make libgcrypt-dev libgpg-error-dev | |
- name: Configure | |
run: | | |
./configure CC=clang CXX=clang++ --enable-lto --enable-static | |
- name: Make | |
run: | | |
git config --global --add safe.directory '*' | |
make -j$(nproc) | |
cp mrzip mrzip-x86_64-linux | |
cp rs-mrzip/rs-mrzip rs-mrzip-x86_64-linux | |
cp ar-mrzip/ar-mrzip ar-mrzip-x86_64-linux | |
zip mrzip-x86_64-linux.zip mrzip-x86_64-linux rs-mrzip-x86_64-linux ar-mrzip-x86_64-linux | |
- name: Publish Release | |
uses: softprops/action-gh-release@v1 | |
with: | |
files: mrzip-x86_64-linux.zip | |
build-windows-msys2: | |
name: Windows msys2 GCC | |
runs-on: windows-latest | |
defaults: | |
run: | |
shell: msys2 {0} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
submodules: recursive | |
- uses: msys2/setup-msys2@v2 | |
with: | |
install: git gcc make zip libgcrypt-devel libgpg-error-devel msys2-runtime-devel | |
- name: Configure | |
run: | | |
./configure CC=gcc CXX=g++ --enable-lto --enable-static | |
- name: Make | |
run: | | |
git config --global --add safe.directory '*' | |
make -j$(nproc) | |
cp mrzip.exe mrzip-x86_64.exe | |
cp /usr/bin/msys-2.0.dll . | |
cp rs-mrzip/rs-mrzip.exe rs-mrzip-x86_64.exe | |
cp ar-mrzip/ar-mrzip.exe ar-mrzip-x86_64.exe | |
zip -q mrzip-x86_64-windows.zip mrzip-x86_64.exe ar-mrzip-x86_64.exe rs-mrzip-x86_64.exe msys-2.0.dll | |
- name: Publish Release | |
uses: softprops/action-gh-release@v1 | |
with: | |
files: mrzip-x86_64-windows.zip | |
build-archs: | |
name: aarch64, s390x, ppc64le Debian Clang | |
strategy: | |
fail-fast: false | |
matrix: | |
arch: [ aarch64, s390x, ppc64le ] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
submodules: recursive | |
- uses: uraimo/run-on-arch-action@v2 | |
name: Run in the container | |
with: | |
arch: ${{ matrix.arch }} | |
distro: bullseye | |
shell: /bin/sh | |
dockerRunArgs: | | |
--volume "${PWD}:/modern-rzip" | |
install: | | |
apt update -q -y | |
apt install -q -y zip git clang make libgcrypt-dev libgpg-error-dev | |
run: | | |
git config --global --add safe.directory '*' | |
cd /modern-rzip | |
./configure CC=clang CXX=clang++ --enable-static | |
make | |
cp mrzip mrzip-${{ matrix.arch }}-linux | |
cp rs-mrzip/rs-mrzip rs-mrzip-${{ matrix.arch }}-linux | |
cp ar-mrzip/ar-mrzip ar-mrzip-${{ matrix.arch }}-linux | |
zip mrzip-${{ matrix.arch }}-linux.zip mrzip-${{ matrix.arch }}-linux rs-mrzip-${{ matrix.arch }}-linux ar-mrzip-${{ matrix.arch }}-linux | |
- name: Publish Release | |
uses: softprops/action-gh-release@v1 | |
with: | |
files: mrzip-${{ matrix.arch }}-linux.zip |