Nightly Build #139
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
name: Nightly Build | |
on: | |
workflow_dispatch: | |
push: | |
branches: ["main"] | |
paths-ignore: | |
- "*.md" | |
- "docs/**" | |
jobs: | |
build-android: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: subosito/flutter-action@v2 | |
with: | |
channel: "stable" | |
flutter-version-file: pubspec.yaml | |
cache: true | |
- name: Setup Java | |
uses: actions/setup-java@v4 | |
with: | |
distribution: "zulu" | |
java-version: "17" | |
cache: gradle | |
- run: flutter --version | |
- name: Install dependencies | |
run: flutter pub get | |
- name: Perform Code Generation | |
run: flutter pub run build_runner build --delete-conflicting-outputs | |
- name: Decode Release Key | |
run: | | |
echo "$TUBESYNC_JKS" > tubesync.b64 | |
base64 --decode tubesync.b64 > tubesync.jks | |
env: | |
TUBESYNC_JKS: ${{ secrets.TUBESYNC_JKS }} | |
- name: Build Android Profile Apk | |
run: flutter build apk --profile | |
env: | |
TUBESYNC_KEY_PASSWORD: ${{ secrets.TUBESYNC_KEY_PASSWORD }} | |
- name: Upload Build Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: tubesync_android_nightly | |
path: build/app/outputs/flutter-apk/app-profile.apk | |
compression-level: 9 | |
build-linux: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: subosito/flutter-action@v2 | |
with: | |
channel: "stable" | |
flutter-version-file: pubspec.yaml | |
cache: true | |
- run: flutter --version | |
- name: Install dependencies | |
run: | | |
sudo apt-get install -y clang cmake ninja-build pkg-config libmpv-dev libgtk-3-dev liblzma-dev libstdc++-12-dev | |
flutter pub get | |
- name: Perform Code Generation | |
run: flutter pub run build_runner build --delete-conflicting-outputs | |
- name: Build Linux Release | |
run: flutter build linux --release | |
- name: Upload Build Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: tubesync_linux_nightly | |
path: build/linux/x64/release/bundle/ | |
compression-level: 9 | |
build-ios: | |
runs-on: macOS-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: subosito/flutter-action@v2 | |
with: | |
channel: "stable" | |
cache: true | |
- run: flutter --version | |
- name: Install dependencies | |
run: flutter pub get | |
- name: Perform Code Generation | |
run: flutter pub run build_runner build --delete-conflicting-outputs | |
- name: Build iOS Release | |
run: flutter build ios --release --no-codesign | |
- name: Prepare bundle | |
run: | | |
mkdir Payload | |
mv build/ios/iphoneos/Runner.app/ Payload | |
zip -qq -r -9 tubesync_unsigned.ipa Payload | |
- name: Upload Build Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: tubesync_ios_nightly | |
path: tubesync_unsigned.ipa | |
compression-level: 9 | |
build-mac: | |
runs-on: macOS-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: subosito/flutter-action@v2 | |
with: | |
channel: "stable" | |
cache: true | |
- run: flutter --version | |
- name: Install dependencies | |
run: flutter pub get | |
- name: Perform Code Generation | |
run: flutter pub run build_runner build --delete-conflicting-outputs | |
- name: Build MacOS Release | |
run: flutter build macos --release | |
- name: Prepare bundle | |
run: | | |
mv build/macos/Build/Products/Release/*.app ./ | |
zip -r tubesync_macos.zip *.app | |
- name: Upload Build Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: tubesync_macos_nightly | |
path: tubesync_macos.zip | |
compression-level: 9 |