build: bump to v0.9.8 #260
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 packages for master or a tagged release | |
on: | |
push: | |
branches: | |
- master | |
# Any tag starting with 'v' | |
tags: | |
- 'v*' | |
workflow_dispatch: | |
jobs: | |
build-distro-packages-arm64: | |
runs-on: ubuntu-latest | |
name: build arm64 packages | |
strategy: | |
fail-fast: true | |
matrix: | |
format: [ rpm, deb ] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- uses: uraimo/[email protected] | |
name: Build the ${{matrix.format}} packages | |
with: | |
arch: aarch64 | |
distro: ubuntu20.04 | |
run: | | |
apt-get update && \ | |
apt-get install -y --no-install-recommends \ | |
build-essential \ | |
cmake \ | |
file \ | |
rpm \ | |
make | |
cmake . | |
echo ${{ matrix.format }} | awk '{print toupper($0)}' | xargs -I{} cpack -G {} | |
- name: Store the master package artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ matrix.format }}-arm64 | |
path: | | |
./*.${{matrix.format}} | |
build-distro-packages-amd64: | |
name: build amd64 packages | |
strategy: | |
fail-fast: true | |
matrix: | |
format: [ rpm, deb ] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: Build the ${{matrix.format}} packages | |
run: | | |
cmake . | |
echo ${{ matrix.format }} | awk '{print toupper($0)}' | xargs -I{} cpack -G {} | |
- name: Store the master package artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ matrix.format }}-amd64 | |
path: | | |
./*.${{matrix.format}} | |
build-macos-packages-amd64: | |
name: build macOS intel packages | |
strategy: | |
fail-fast: true | |
matrix: | |
config: | |
- format: productbuild | |
arch: intel | |
ext: pkg | |
runs-on: macos-12 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: Build the ${{matrix.config.format}} packages | |
run: | | |
cmake . -DCPACK_GENERATOR=${{ matrix.config.format }} | |
echo ${{ matrix.config.format }} | xargs -I{} cpack -G {} | |
- name: Store the master package artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ matrix.config.format }}-${{matrix.config.arch}} | |
path: | | |
./*-${{matrix.config.arch}}.${{matrix.config.ext}} | |
build-macos-packages-arm64: | |
name: build macOS Apple Silicon packages | |
strategy: | |
fail-fast: true | |
matrix: | |
config: | |
- format: productbuild | |
arch: apple | |
ext: pkg | |
runs-on: macos-14 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: Build the ${{matrix.config.format}} packages | |
run: | | |
cmake . -DCPACK_GENERATOR=${{ matrix.config.format }} | |
echo ${{ matrix.config.format }} | xargs -I{} cpack -G {} | |
- name: Store the master package artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ matrix.config.format }}-${{matrix.config.arch}} | |
path: | | |
./*-${{matrix.config.arch}}.${{matrix.config.ext}} | |
release: | |
name: Create release and upload packages | |
needs: | |
- build-distro-packages-amd64 | |
- build-distro-packages-arm64 | |
- build-macos-packages-amd64 | |
- build-macos-packages-arm64 | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
steps: | |
- name: Download all artefacts | |
uses: actions/download-artifact@v3 | |
with: | |
path: artifacts/ | |
- name: Display structure of downloaded files | |
run: ls -R | |
working-directory: artifacts | |
shell: bash | |
- name: Unstable release on push to master to make it easier to download | |
uses: pyTooling/Actions/releaser@r0 | |
continue-on-error: true | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
tag: 'unstable' | |
rm: true | |
files: | | |
artifacts/**/* | |
- name: Release on tag | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
generate_release_notes: true | |
draft: false | |
files: | | |
artifacts/**/* |