Skip to content

Enable Flutter Builds on Linux and Windows #35

Enable Flutter Builds on Linux and Windows

Enable Flutter Builds on Linux and Windows #35

Workflow file for this run

on:
pull_request:
branches:
- main
push:
branches:
- main
name: "MyHack Build & Release"
jobs:
build:
name: MyHack Build & Release
runs-on: ubuntu-latest
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
flutter_version: ['3.13.9', '3.13.9', '3.13.9']
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Setup Java
uses: actions/setup-java@v2
with:
java-version: '12.x'
distribution: 'adopt'
- name: Setup Flutter
uses: subosito/flutter-action@v1
with:
flutter-version: ${{ matrix.flutter_version }}
- name: Run Flutter Commands
run: |
cd app
flutter config --no-analytics
flutter pub get
flutter build apk --debug --split-per-abi
- name: Upload Artifacts
uses: actions/upload-artifact@v2
with:
name: myhack-artifacts
path: |
app/build/app/outputs/apk/debug/*.apk
release:
name: Create Release
runs-on: ubuntu-latest
needs: build
steps:
- name: Download Artifacts
uses: actions/download-artifact@v2
with:
name: myhack-artifacts
path: artifacts
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.TOKEN }}
with:
tag_name: v1.0.${{ github.run_number }}-${{ github.run_id }}
release_name: Release ${{ github.run_number }}
body: |
Description of the release.
- name: Upload Release Artifacts - macOS
if: matrix.os == 'macos-latest'
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: artifacts/*.apk
asset_name: MyHack-Release-${{ github.run_number }}-macOS.zip
asset_content_type: application/zip
- name: Upload Release Artifacts - Windows
if: matrix.os == 'windows-latest'
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: artifacts/*.apk
asset_name: MyHack-Release-${{ github.run_number }}-Windows.zip
asset_content_type: application/zip
- name: Upload Release Artifacts - Ubuntu
if: matrix.os == 'ubuntu-latest'
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: artifacts/*.apk
asset_name: MyHack-Release-${{ github.run_number }}-Ubuntu.zip
asset_content_type: application/zip