Skip to content

Create a release

Create a release #68

name: Create a release
on:
#push:
#branches: [ "main" ]
#pull_request:
#branches: [ "main" ]
workflow_dispatch:
jobs:
version:
name: Create version number
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install GitVersion
uses: gittools/actions/gitversion/[email protected]
with:
versionSpec: "5.x"
- name: Use GitVersion
id: gitversion
uses: gittools/actions/gitversion/[email protected]
- name: Create version.txt with nuGetVersion
run: echo ${{ steps.gitversion.outputs.nuGetVersion }} > version.txt
- name: Upload version.txt
uses: actions/upload-artifact@v4
with:
name: gitversion
path: version.txt
build-and-release-android:
runs-on: ubuntu-latest
steps:
- name: Install ninja build tools etc.
run: |
sudo apt-get update -y
sudo apt-get install -y ninja-build libgtk-3-dev libblkid-dev
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
cache: 'gradle'
- uses: subosito/flutter-action@v2
with:
flutter-version: '3.22.3'
channel: 'stable'
cache: true
- name: read-yaml-file
uses: pietrobolcato/[email protected]
id: read_action_js
with:
config: ${{ github.workspace }}/pubspec.yaml
- name: Generate intermediates
run: dart run build_runner build --delete-conflicting-outputs
- name: Enable Android build
run: flutter config --enable-android
- name: Build APK artifacts
run: flutter build apk --release
- name: Build App Bundle artifacts
run: flutter build appbundle --release
- name: Archive APK Release
uses: thedoctor0/zip-release@master
with:
type: 'zip'
filename: mopicon-${{steps.read_action_js.outputs['version']}}-apk.zip
directory: build/app/outputs/flutter-apk
- name: Archive App Bundle Release
uses: thedoctor0/zip-release@master
with:
type: 'zip'
filename: mopicon-${{steps.read_action_js.outputs['version']}}-appbundle.zip
directory: build/app/outputs/bundle/release
- name: Android APK Release
uses: softprops/action-gh-release@v1
#if: startsWith(github.ref, 'refs/tags/')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
name: Release ${{steps.read_action_js.outputs['version']}}
tag_name: ${{steps.read_action_js.outputs['version']}}
prerelease: ${{steps.read_action_js.outputs['mopicon_prerelease']}}
files: build/app/outputs/flutter-apk/mopicon-${{steps.read_action_js.outputs['version']}}-apk.zip
- name: Android App Bundle Release
uses: softprops/action-gh-release@v1
#if: startsWith(github.ref, 'refs/tags/')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
name: Release ${{steps.read_action_js.outputs['version']}}
tag_name: ${{steps.read_action_js.outputs['version']}}
prerelease: ${{steps.read_action_js.outputs['mopicon_prerelease']}}
files: build/app/outputs/bundle/release/mopicon-${{steps.read_action_js.outputs['version']}}-appbundle.zip
build-and-release-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
flutter-version: '3.22.3'
channel: 'stable'
- name: read-yaml-file
uses: pietrobolcato/[email protected]
id: read_action_js
with:
config: ${{ github.workspace }}/pubspec.yaml
- name: Install project dependencies
run: flutter pub get
- name: Generate intermediates
run: dart run build_runner build --delete-conflicting-outputs
- name: Enable windows build
run: flutter config --enable-windows-desktop
- name: Build artifacts
run: flutter build windows --release
- name: Archive Release
uses: thedoctor0/zip-release@master
with:
type: 'zip'
filename: mopicon-${{steps.read_action_js.outputs['version']}}-windows-x64.zip
directory: build/windows/x64/runner/Release
- name: Windows Release
uses: softprops/action-gh-release@v1
#if: startsWith(github.ref, 'refs/tags/')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
name: Release ${{steps.read_action_js.outputs['version']}}
tag_name: ${{steps.read_action_js.outputs['version']}}
prerelease: ${{steps.read_action_js.outputs['mopicon_prerelease']}}
files: build/windows/x64/runner/Release/mopicon-${{steps.read_action_js.outputs['version']}}-windows-x64.zip
build-and-release-ubuntu-20-04:
runs-on: ubuntu-20.04
steps:
- name: Install ninja build tools etc.
run: |
sudo apt-get update -y
sudo apt-get install -y ninja-build libgtk-3-dev libblkid-dev
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
cache: 'gradle'
- uses: subosito/flutter-action@v2
with:
flutter-version: '3.22.3'
channel: 'stable'
cache: true
- name: read-yaml-file
uses: pietrobolcato/[email protected]
id: read_action_js
with:
config: ${{ github.workspace }}/pubspec.yaml
- name: Generate intermediates
run: dart run build_runner build --delete-conflicting-outputs
- name: Enable linux build
run: flutter config --enable-linux-desktop
- name: Build artifacts
run: flutter build linux --release
- name: Archive Release
uses: thedoctor0/zip-release@master
with:
type: 'zip'
filename: mopicon-${{steps.read_action_js.outputs['version']}}-ubuntu-20_04-x64.zip
directory: build/linux/x64/release/bundle
- name: Linux Release
uses: softprops/action-gh-release@v1
#if: startsWith(github.ref, 'refs/tags/')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
name: Release ${{steps.read_action_js.outputs['version']}}
tag_name: ${{steps.read_action_js.outputs['version']}}
prerelease: ${{steps.read_action_js.outputs['mopicon_prerelease']}}
files: build/linux/x64/release/bundle/mopicon-${{steps.read_action_js.outputs['version']}}-ubuntu-20_04-x64.zip
build-and-release-ubuntu-22-04:
runs-on: ubuntu-22.04
steps:
- name: Install ninja build tools etc.
run: |
sudo apt-get update -y
sudo apt-get install -y ninja-build libgtk-3-dev libblkid-dev
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
cache: 'gradle'
- uses: subosito/flutter-action@v2
with:
flutter-version: '3.22.3'
channel: 'stable'
cache: true
- name: read-yaml-file
uses: pietrobolcato/[email protected]
id: read_action_js
with:
config: ${{ github.workspace }}/pubspec.yaml
- name: Generate intermediates
run: dart run build_runner build --delete-conflicting-outputs
- name: Enable linux build
run: flutter config --enable-linux-desktop
- name: Build artifacts
run: flutter build linux --release
- name: Archive Release
uses: thedoctor0/zip-release@master
with:
type: 'zip'
filename: mopicon-${{steps.read_action_js.outputs['version']}}-ubuntu-22_04-x64.zip
directory: build/linux/x64/release/bundle
- name: Linux Release
uses: softprops/action-gh-release@v1
#if: startsWith(github.ref, 'refs/tags/')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
name: Release ${{steps.read_action_js.outputs['version']}}
tag_name: ${{steps.read_action_js.outputs['version']}}
prerelease: ${{steps.read_action_js.outputs['mopicon_prerelease']}}
files: build/linux/x64/release/bundle/mopicon-${{steps.read_action_js.outputs['version']}}-ubuntu-22_04-x64.zip