Skip to content

Release

Release #5

Workflow file for this run

name: Release
on: workflow_dispatch
jobs:
create_release:
name: Create Draft Release
runs-on: ubuntu-latest
outputs:
upload_url: ${{ steps.create_release_id.outputs.upload_url }}
steps:
- name: Create Draft Release
id: create_release_id
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: auto-generated draft
release_name: Auto-Generated Draft
body: |
New Features:
- Foo
Fixes:
- Bar
Known Issues:
- Foobar
Authors:
@Bonfra04
draft: true
prerelease: false
build_windows:
name: Build Windows
needs: create_release
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: '3.22.0-0.3.pre'
channel: 'master'
cache: false # Disabled cuz windows is bad
cache-key: 'flutter-windows'
cache-path: '${{ runner.tool_cache }}/flutter/windows'
architecture: x64
- name: Download ffmpeg
run: |
Invoke-WebRequest -Uri "https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-master-latest-win64-gpl.zip" -OutFile "ffmpeg.zip"
Expand-Archive -Path "ffmpeg.zip" -DestinationPath "ffmpeg"
- name: Build Windows App
run: |
flutter config --enable-windows-desktop
flutter build windows --release
- name: Copy dependencies
run: |
cp ffmpeg\bin\ffmpeg.exe build\windows\x64\runner\Release
cp ffmpeg\LICENSE.txt build\windows\x64\runner\ffmpeg_LICENSE.txt
- name: Zip File
run: Compress-Archive -Path build\windows\x64\runner\Release* -Destination build.zip
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create_release.outputs.upload_url }}
asset_path: ./build.zip
asset_name: Stronzflix Windows - amd64.zip
asset_content_type: application/zip
build_linux:
name: Build Linux
needs: create_release
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download dependencies
run: |
sudo apt-get update -y
sudo apt-get install -y ninja-build libgtk-3-dev
- name: Download Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: '3.20.0'
channel: 'master'
cache: true
cache-key: 'flutter-linux'
cache-path: '${{ runner.tool_cache }}/flutter/linux'
architecture: x64
- name: Download ffmpeg
run: |
wget "https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-master-latest-linux64-gpl.tar.xz"
tar -xf ffmpeg-master-latest-linux64-gpl.tar.xz
mv ffmpeg-master-latest-linux64-gpl ffmpeg
- name: Build Linux App
run: |
flutter config --enable-linux-desktop
flutter build linux --release
- name: Copy dependencies
run: |
cp ffmpeg/bin/ffmpeg build/linux/x64/release/bundle
cp ffmpeg/LICENSE.txt build/linux/x64/release/bundle/ffmpeg_LICENSE.txt
- name: Zip File
run: |
cd build/linux/x64/release; zip -r ../../../../build.zip bundle; cd -
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create_release.outputs.upload_url }}
asset_path: ./build.zip
asset_name: Stronzflix Linux - amd64.zip
asset_content_type: application/zip
build_android:
name: Build Android
needs: create_release
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download dependencies
uses: actions/setup-java@v2
with:
distribution: 'zulu'
java-version: '17'
- name: Download Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: '3.20.0'
channel: 'master'
cache: true
cache-key: 'flutter-android'
cache-path: '${{ runner.tool_cache }}/flutter/android'
architecture: x64
- name: Build Android App
run: |
flutter config --enable-android
flutter build apk --release
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create_release.outputs.upload_url }}
asset_path: build/app/outputs/flutter-apk/app-release.apk
asset_name: Stronzflix.apk
asset_content_type: application/vnd.android.package-archive