This repository has been archived by the owner on Sep 14, 2024. It is now read-only.
Merge pull request #46 from Noso-Project/v0.2.4-beta #18
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
name: NosoSova Main Workflow | |
permissions: | |
contents: write | |
defaults: | |
run: | |
shell: bash | |
on: | |
push: | |
branches: [ main ] | |
tags: [ "*" ] | |
paths-ignore: [ "README.md" ] | |
pull_request: | |
branches: [ main ] | |
jobs: | |
build-linux: | |
name: Build Linux (ubuntu-latest;flutter 3.16.8) | |
runs-on: [ubuntu-latest] | |
strategy: | |
fail-fast: false | |
steps: | |
- name: Install Ubuntu packages | |
run: | | |
sudo apt-get update -y | |
sudo apt install -y ninja-build libgtk-3-dev | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Set up Flutter | |
uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: "3.16.8" | |
channel: "stable" | |
cache: true | |
- name: Get dependencies | |
run: flutter pub get | |
- name: Build Application | |
run: | | |
flutter config --enable-linux-desktop | |
flutter build linux --release | |
- name: List Files | |
run: | | |
echo "Listing build/linux/x64/release/bundle" | |
ls -alF build/linux/x64/release/bundle | |
- name: Upload bundle folder | |
uses: actions/upload-artifact@v4 | |
with: | |
name: NosoSova-ubuntu-latest-x86_64 | |
path: build/linux/x64/release/bundle | |
build-windows: | |
name: Build Windows (windows-latest;flutter 3.16.8) | |
runs-on: [windows-latest] | |
strategy: | |
fail-fast: false | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Set up Flutter | |
uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: "3.16.8" | |
channel: "stable" | |
cache: true | |
- name: Get dependencies | |
run: flutter pub get | |
- name: Build Application | |
run: | | |
flutter config --enable-windows-desktop | |
flutter build windows --release | |
- name: List Files | |
run: | | |
echo "Listing build/windows/x64/runner/Release" | |
ls -alF build/windows/x64/runner/Release | |
- name: Upload Release folder | |
uses: actions/upload-artifact@v4 | |
with: | |
name: NosoSova-windows-latest-x86_64 | |
path: build/windows/x64/runner/Release | |
# build-macos: | |
# name: Build macOS (macos-latest;flutter 3.16.0) | |
# runs-on: [macos-latest] | |
# strategy: | |
# fail-fast: false | |
# steps: | |
# - name: Checkout Repository | |
# uses: actions/checkout@v4 | |
# | |
# - name: Set up Flutter | |
# uses: subosito/flutter-action@v2 | |
# with: | |
# flutter-version: "3.16.0" | |
# channel: "stable" | |
# cache: true | |
# - name: Get dependencies | |
# run: flutter pub get | |
# - name: Build Application | |
# run: | | |
# flutter config --enable-macos-desktop | |
# flutter build macos --release | |
# - name: List Files | |
# run: | | |
# echo "Listing build/macos/Build/Products/Release/NosoSova.app" | |
# ls -alF build/macos/Build/Products/Release/NosoSova.app | |
# - name: Upload NosoSova.app folder | |
# uses: actions/upload-artifact@v4 | |
# with: | |
# name: NosoSova-macos-latest-x86_64 | |
# path: build/macos/Build/Products/Release/NosoSova.app | |
build-android: | |
name: Build Android (ubuntu-latest;flutter 3.16.8;Java zulu 17) | |
runs-on: [ubuntu-latest] | |
strategy: | |
fail-fast: false | |
steps: | |
- name: Setup Java | |
uses: actions/setup-java@v4 | |
with: | |
distribution: "zulu" | |
java-version: "17" | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Set up Flutter | |
uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: "3.16.8" | |
channel: "stable" | |
cache: true | |
- name: Get dependencies | |
run: flutter pub get | |
- name: Build Application | |
run: flutter build apk --release | |
- name: List Files | |
run: | | |
echo "Listing build/app/outputs/apk" | |
ls -alF build/app/outputs/apk/release | |
- name: Upload apk folder | |
uses: actions/upload-artifact@v4 | |
with: | |
name: NosoSova-ubuntu-latest-android | |
path: build/app/outputs/apk/release | |
# build-ios: | |
# name: Build iOS (macos-latest;flutter 3.16.0) | |
# runs-on: [macos-latest] | |
# strategy: | |
# fail-fast: false | |
# | |
# steps: | |
# - name: Checkout Repository | |
# uses: actions/checkout@v4 | |
# - name: Set up Flutter | |
# uses: subosito/flutter-action@v2 | |
# with: | |
# flutter-version: "3.16.0" | |
# channel: "stable" | |
# cache: true | |
# - name: Get dependencies | |
# run: flutter pub get | |
# - name: Build Application | |
# run: | | |
# flutter build ios --release --no-codesign | |
# - name: List Files | |
# run: | | |
# echo "Listing build" | |
# ls -alF build | |
# | |
# - name: Upload build folder | |
# uses: actions/upload-artifact@v4 | |
# with: | |
# name: NosoSova-macos-latest-ios | |
# path: build | |
release: | |
if: contains(github.ref_type, 'tag') | |
# | |
name: Create GitHub Release | |
needs: [build-linux,build-windows,build-android] | |
runs-on: [ubuntu-latest] | |
strategy: | |
fail-fast: false | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Export tag | |
run: echo "tag=${{ github.ref_name }}" >> "$GITHUB_ENV" | |
- name: Download the Release binaries | |
uses: actions/download-artifact@v4 | |
- name: List files | |
run: | | |
echo "Listing Linux" | |
ls -alF NosoSova-ubuntu-latest-x86_64 | |
echo "Listing Windows" | |
ls -alF NosoSova-windows-latest-x86_64 | |
echo "Listing Android" | |
ls -alF NosoSova-ubuntu-latest-android | |
- name: Create Linux Archive | |
run: | | |
# Linux | |
cd NosoSova-ubuntu-latest-x86_64 | |
chmod +x nososova | |
tar -zcvf ../NosoSova-x86_64-linux-${{ env.tag }}.tar.gz * | |
cd .. | |
# Windows | |
cd NosoSova-windows-latest-x86_64 | |
zip -r ../NosoSova-x86_64-win64-${{ env.tag }}.zip * | |
cd .. | |
# Android | |
cd NosoSova-ubuntu-latest-android | |
mv app-release.apk nososova.apk | |
zip -r ../NosoSova-arm-android-APK-${{ env.tag }}.zip nososova.apk | |
cd .. | |
- name: Create GitHub release | |
uses: softprops/action-gh-release@v1 | |
with: | |
name: NosoSova ${{ env.tag }} | |
body: "This text needs to be replaced by the git-cliff output.\r\nBut before that, you need to begin to use the proper way of wording the commit messages!!!" | |
files: | | |
*.tar.gz | |
*.zip | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |