Skip to content

ver

ver #10

Workflow file for this run

name: Release
on:
push:
tags:
- 'v*'
permissions:
contents: write
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
target: [linux-amd64, linux-arm64, windows-amd64]
steps:
- name: Checkout phiola
uses: actions/checkout@v7
- name: Get the dependencies
run: |
git clone --depth=1 https://github.com/stsaz/netmill ../netmill
git clone --depth=1 https://github.com/stsaz/avpack ../avpack
git clone --depth=1 https://github.com/stsaz/ffaudio ../ffaudio
git clone --depth=1 https://github.com/stsaz/ffpack ../ffpack
git clone --depth=1 https://github.com/stsaz/ffgui ../ffgui
git clone --depth=1 https://github.com/stsaz/ffsys ../ffsys
git clone --depth=1 https://github.com/stsaz/ffbase ../ffbase
- name: Create builder image
run: |
podman build -t phiola-builder -f builder/Dockerfile.${{ matrix.target }} .
- name: Build for ${{ matrix.target }}
run: |
podman run --rm \
-v $(pwd)/..:/src:Z \
-w /src/phiola \
phiola-builder \
bash builder/build.sh ${{ matrix.target }} '${{ github.ref_name }}'
- name: Upload Linux artifacts
if: startsWith(matrix.target, 'linux')
uses: actions/upload-artifact@v7
with:
name: phiola-${{ matrix.target }}
path: |
_${{ matrix.target }}/phiola_*.deb
_${{ matrix.target }}/phiola-*.rpm
_${{ matrix.target }}/phiola-*.tar.zst
- name: Upload Windows artifacts
if: matrix.target == 'windows-amd64'
uses: actions/upload-artifact@v7
with:
name: phiola-${{ matrix.target }}
path: |
_${{ matrix.target }}/phiola-*.zip
_${{ matrix.target }}/phiola-*-setup.exe
release:
needs: build
runs-on: ubuntu-latest
steps:
- name: Checkout phiola
uses: actions/checkout@v7
with:
fetch-depth: 0
- name: Download artifacts
uses: actions/download-artifact@v8
with:
path: artifacts
- name: Generate release notes
run: |
bash builder/release-notes.sh '${{ github.ref_name }}'
- name: Create GitHub Release
uses: softprops/action-gh-release@v3
with:
files: |
artifacts/phiola-linux-amd64/phiola_*.deb
artifacts/phiola-linux-amd64/phiola-*.rpm
artifacts/phiola-linux-amd64/phiola-*.tar.zst
artifacts/phiola-linux-arm64/phiola_*.deb
artifacts/phiola-linux-arm64/phiola-*.rpm
artifacts/phiola-linux-arm64/phiola-*.tar.zst
artifacts/phiola-windows-amd64/phiola-*.zip
artifacts/phiola-windows-amd64/phiola-*-setup.exe
draft: true
body_path: release-notes.txt