Skip to content

v0.1.0

v0.1.0 #1

Workflow file for this run

name: Build and release
on:
push:
branches:
- master
tags:
- v*
permissions:
contents: write
jobs:
build-linux:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4.1.1
with:
persist-credentials: false
- name: Setup Flutter
uses: subosito/flutter-action@v2.13.0
with:
flutter-version: "3.16.8"
channel: "stable"
cache: true
- name: Bootstrap
run: sudo apt-get update -y && sudo apt-get install -y ninja-build libgtk-3-dev
- name: Build
run: ./build.sh
- name: Move release
run: mkdir release; mv build/linux/x64/release/bundle "release/${{ github.event.repository.name }}"
- name: Package
run: tar -cf- -C release "${{ github.event.repository.name }}" | xz -c9e - > "${{ github.event.repository.name }}-linux.tar.xz"
- name: Save
uses: actions/upload-artifact@v4.3.1
with:
name: release-linux
path: "*.tar.xz"
build-macos:
runs-on: macos-12
steps:
- name: Checkout
uses: actions/checkout@v4.1.1
with:
persist-credentials: false
- name: Setup Flutter
uses: subosito/flutter-action@v2.13.0
with:
flutter-version: "3.16.8"
channel: "stable"
cache: true
- name: Build
run: ./build.sh
- name: Package
run: productbuild --component "build/macos/Build/Products/Release/${{ github.event.repository.name }}.app" /Applications/ ${{ github.event.repository.name }}-macos.pkg
- name: Save
uses: actions/upload-artifact@v4.3.1
with:
name: release-macos
path: "*.pkg"
build-windows:
runs-on: windows-2022
steps:
- name: Checkout
uses: actions/checkout@v4.1.1
with:
persist-credentials: false
- name: Setup Flutter
uses: subosito/flutter-action@v2.13.0
with:
flutter-version: "3.16.8"
channel: "stable"
cache: true
- name: Build
run: .\build-windows.ps1
- name: Move release folder
run: mkdir release; mv build\windows\x64\runner\Release "release\${{ github.event.repository.name }}"
- name: Archive
run: Compress-Archive -Path "release\${{ github.event.repository.name }}" -DestinationPath "${{ github.event.repository.name }}-windows.zip"
- name: Save
uses: actions/upload-artifact@v4.3.1
with:
name: release-windows
path: "*.zip"
release:
if: startsWith(github.ref, 'refs/tags/')
needs:
- build-linux
- build-macos
- build-windows
runs-on: ubuntu-22.04
steps:
- name: Version
id: version
run: echo "version=${GITHUB_REF#refs/tags/}" >> "$GITHUB_OUTPUT"
- name: Checkout
uses: actions/checkout@v4.1.1
with:
persist-credentials: false
- name: Notes
run: grep -Pzom1 "(?s)\n[##\s]*${{ steps.version.outputs.version }}.*?\n+.*?\K.*?(\n\n|$)" CHANGELOG.md | sed 's/[^[:print:]]//g' > RELEASE.md
- name: Download
uses: actions/download-artifact@v4.1.4
with:
path: artifacts
- name: Rename
run: |
mv artifacts/release-linux/${{ github.event.repository.name }}-linux.tar.xz artifacts/release-linux/${{ github.event.repository.name }}-linux-${{ steps.version.outputs.version }}.tar.xz
mv artifacts/release-macos/${{ github.event.repository.name }}-macos.pkg artifacts/release-macos/${{ github.event.repository.name }}-macos-${{ steps.version.outputs.version }}.pkg
mv artifacts/release-windows/${{ github.event.repository.name }}-windows.zip artifacts/release-windows/${{ github.event.repository.name }}-windows-${{ steps.version.outputs.version }}.zip
- name: Release
uses: softprops/action-gh-release@v2.0.2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
files: |
artifacts/release-linux/*.tar.xz
artifacts/release-macos/*.pkg
artifacts/release-windows/*.zip
body_path: RELEASE.md