v15.3.11 #48
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This is a basic workflow to help you get started with Actions | |
name: Build Package | |
# Controls when the workflow will run | |
on: | |
release: | |
types: [published] | |
jobs: | |
build_ios: | |
runs-on: macos-latest | |
env: | |
SHEME: Runner | |
BUILD_CONFIGURATION: Release | |
steps: | |
- name: Checkout the code | |
uses: actions/checkout@v2 | |
- name: Git submodule init | |
uses: snickerbockers/submodules-init@v4 | |
- name: Install and set Flutter version | |
uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: '3.24.1' | |
channel: 'stable' | |
- name: Restore packages | |
run: flutter pub get | |
- name: Build Flutter | |
run: flutter build ios --release --no-codesign | |
- name: Build xArchive | |
run: | | |
mkdir Payload && mv build/ios/iphoneos/Runner.app Payload && zip -r Payload.zip Payload && mkdir output && mv Payload.zip output/ikaros.ipa | |
- name: Upload ipa to release | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.LI_GUOHAO_TOKEN }} | |
file: output/ikaros.ipa | |
asset_name: ikaros-ios-${{ github.ref_name }}.ipa | |
build_android: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the code | |
uses: actions/checkout@v2 | |
- name: Git submodule init | |
uses: snickerbockers/submodules-init@v4 | |
- name: Setup Java to compile Android project | |
uses: actions/setup-java@v1 | |
with: | |
java-version: '17.x' | |
- name: Install and set Flutter version | |
uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: '3.24.1' | |
channel: 'stable' | |
- name: Restore packages | |
run: flutter pub get | |
- name: Build Android App Bundle | |
run: flutter build apk --release | |
- name: Publish Android Artefacts | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.LI_GUOHAO_TOKEN }} | |
file: build/app/outputs/flutter-apk/app-release.apk | |
asset_name: ikaros-android-${{ github.ref_name }}.apk | |
build_windows: | |
runs-on: windows-latest | |
steps: | |
- name: Checkout the code | |
uses: actions/checkout@v2 | |
- name: Git submodule init | |
uses: snickerbockers/submodules-init@v4 | |
- name: Install and set Flutter version | |
uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: '3.24.1' | |
channel: 'stable' | |
- name: Restore packages | |
run: flutter pub get | |
- name: Build Windows App Bundle | |
run: flutter build windows --release | |
- name: Zip release files | |
run: Compress-Archive -Path "build\\windows\\x64\\runner\\Release\\*" -DestinationPath "output.zip" | |
- name: Publish Windows Artefacts | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.LI_GUOHAO_TOKEN }} | |
file: output.zip | |
asset_name: ikaros-windows-${{ github.ref_name }}.zip | |
build_macos: | |
runs-on: macos-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Git submodule init | |
uses: snickerbockers/submodules-init@v4 | |
- name: Set up Flutter | |
uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: '3.24.1' | |
channel: 'stable' | |
- name: Install dependencies | |
run: flutter pub get | |
- name: Build macOS app | |
run: flutter build macos --release | |
- name: Set APP_NAME | |
run: | | |
APP_NAME=$(ls build/macos/Build/Products/Release/ | grep -E '\.app$') | |
echo "APP_NAME=${APP_NAME}" >> $GITHUB_ENV | |
- name: Create DMG Installer | |
run: | | |
mkdir -p build/macos/Build/Products/Release/dmg | |
hdiutil create build/macos/Build/Products/Release/dmg/${{ env.APP_NAME }}-macOS.dmg \ | |
-volname "IkarosApp Installer" \ | |
-srcfolder build/macos/Build/Products/Release/${{ env.APP_NAME }} \ | |
-ov -format UDZO | |
- name: Publish Macos Artefacts | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.LI_GUOHAO_TOKEN }} | |
file: build/macos/Build/Products/Release/dmg/${{ env.APP_NAME }}-macOS.dmg | |
asset_name: ikaros-macOS-${{ github.ref_name }}.dmg | |
build_linux: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the code | |
uses: actions/checkout@v3 | |
- name: Git submodule init | |
uses: snickerbockers/submodules-init@v4 | |
- name: Install and set Flutter version | |
uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: '3.24.1' | |
channel: 'stable' | |
- name: Restore packages | |
run: flutter pub get | |
- name: Enable linux desktop | |
run: flutter config --enable-linux-desktop | |
- name: Install dependencies | |
run: sudo apt-get update && sudo apt-get install -y ninja-build cmake g++ libgtk-3-dev | |
- name: Build Linux App Bundle | |
run: flutter build linux --release | |
- name: Create a tarball | |
env: | |
APP_NAME: $(ls build/linux/x64/release/bundle | grep .out | sed 's/.out//') | |
VERSION: ${{ github.ref_name }} | |
run: | | |
mkdir -p build/linux/x64/release/${APP_NAME} | |
cp -r build/linux/x64/release/bundle/* build/linux/x64/release/${APP_NAME}/ | |
tar -czvf build/linux/x64/release/${APP_NAME}-linux.tar.gz -C build/linux/x64/release ${APP_NAME} | |
cat <<EOF > build/linux/x64/release/${APP_NAME}/DEBIAN/control | |
Package: ${APP_NAME} | |
Version: ${VERSION} | |
Section: base | |
Priority: optional | |
Architecture: amd64 | |
Depends: libgtk-3-0, libstdc++6 | |
Maintainer: Chivehao <chivehao@ikaros.run> | |
Description: Ikaros flutter app. | |
EOF | |
- name: Publish Linux Artefacts | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.LI_GUOHAO_TOKEN }} | |
file: build/linux/x64/release/${{ env.APP_NAME }}-linux.tar.gz | |
asset_name: ikaros-linux-${{ github.ref_name }}.tar.gz | |
- name: Build DEB package | |
run: | | |
APP_NAME=$(ls build/linux/x64/release/bundle | grep .out | sed 's/.out//') | |
dpkg-deb --build build/linux/x64/release/${APP_NAME} | |
- name: Publish DEB Linux/Ubuntu Artefacts | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.LI_GUOHAO_TOKEN }} | |
file: build/linux/x64/release/${{ env.APP_NAME }}.deb | |
asset_name: ikaros-ubuntu-${{ github.ref_name }}.deb | |