mirror of
https://github.com/Dr-Blank/Vaani.git
synced 2026-02-16 14:29:35 +00:00
macos
This commit is contained in:
parent
f5e7113239
commit
fac5ddda79
1 changed files with 186 additions and 137 deletions
323
.github/workflows/flutter-ci.yaml
vendored
323
.github/workflows/flutter-ci.yaml
vendored
|
|
@ -9,158 +9,194 @@ on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
# test:
|
||||||
name: Test
|
# name: Test
|
||||||
runs-on: ubuntu-latest
|
# runs-on: ubuntu-latest
|
||||||
steps:
|
# steps:
|
||||||
- name: Checkout repository
|
# - name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
# uses: actions/checkout@v4
|
||||||
with:
|
# with:
|
||||||
submodules: recursive
|
# submodules: recursive
|
||||||
|
|
||||||
- name: Setup Flutter Environment
|
# - name: Setup Flutter Environment
|
||||||
uses: ./.github/actions/flutter-setup # Path to the composite action directory
|
# uses: ./.github/actions/flutter-setup # Path to the composite action directory
|
||||||
# Pass inputs if needed (optional, using defaults here)
|
# # Pass inputs if needed (optional, using defaults here)
|
||||||
# with:
|
# # with:
|
||||||
# flutter-channel: 'stable'
|
# # flutter-channel: 'stable'
|
||||||
# java-version: '17'
|
# # java-version: '17'
|
||||||
# Debug: Echo current directory contents
|
# # Debug: Echo current directory contents
|
||||||
- name: List root directory contents
|
# - name: List root directory contents
|
||||||
run: |
|
# run: |
|
||||||
pwd
|
# pwd
|
||||||
ls -la
|
# ls -la
|
||||||
|
|
||||||
# Debug: Recursive directory structure
|
# # Debug: Recursive directory structure
|
||||||
- name: Show full directory structure
|
# - name: Show full directory structure
|
||||||
run: |
|
# run: |
|
||||||
echo "Full directory structure:"
|
# echo "Full directory structure:"
|
||||||
tree -L 3
|
# tree -L 3
|
||||||
|
|
||||||
# Debug: Submodule status and details
|
# # Debug: Submodule status and details
|
||||||
- name: Check submodule status
|
# - name: Check submodule status
|
||||||
run: |
|
# run: |
|
||||||
echo "Submodule status:"
|
# echo "Submodule status:"
|
||||||
git submodule status
|
# git submodule status
|
||||||
|
|
||||||
echo "\nSubmodule details:"
|
# echo "\nSubmodule details:"
|
||||||
git submodule foreach 'echo $path: && pwd && ls -la'
|
# git submodule foreach 'echo $path: && pwd && ls -la'
|
||||||
|
|
||||||
# - name: Run static analysis
|
# # - name: Run static analysis
|
||||||
# run: flutter analyze
|
# # run: flutter analyze
|
||||||
|
|
||||||
- name: Check formatting
|
# - name: Check formatting
|
||||||
run: |
|
# run: |
|
||||||
dart format -o none --set-exit-if-changed lib/
|
# dart format -o none --set-exit-if-changed lib/
|
||||||
|
|
||||||
- name: Run tests
|
# - name: Run tests
|
||||||
run: flutter test
|
# run: flutter test
|
||||||
|
|
||||||
build_android:
|
# build_android:
|
||||||
name: Build Android APKs
|
# name: Build Android APKs
|
||||||
needs: test
|
# needs: test
|
||||||
runs-on: ubuntu-latest
|
# runs-on: ubuntu-latest
|
||||||
steps:
|
# steps:
|
||||||
- name: Checkout repository
|
# - name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
# uses: actions/checkout@v4
|
||||||
with:
|
# with:
|
||||||
submodules: recursive
|
# submodules: recursive
|
||||||
- name: Setup Flutter Environment
|
# - name: Setup Flutter Environment
|
||||||
uses: ./.github/actions/flutter-setup # Path to the composite action directory
|
# uses: ./.github/actions/flutter-setup # Path to the composite action directory
|
||||||
with:
|
# with:
|
||||||
flutter-channel: stable
|
# flutter-channel: stable
|
||||||
java-version: 17
|
# java-version: 17
|
||||||
|
|
||||||
- name: Accept Android SDK Licenses
|
# - name: Accept Android SDK Licenses
|
||||||
run: |
|
# run: |
|
||||||
yes | sudo $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses
|
# yes | sudo $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses
|
||||||
|
|
||||||
- name: Decode android/upload.jks
|
# - name: Decode android/upload.jks
|
||||||
run: echo "${{ secrets.UPLOAD_KEYSTORE_JKS }}" | base64 --decode > android/upload.jks
|
# run: echo "${{ secrets.UPLOAD_KEYSTORE_JKS }}" | base64 --decode > android/upload.jks
|
||||||
|
|
||||||
- name: Decode android/key.properties
|
# - name: Decode android/key.properties
|
||||||
run: echo "${{ secrets.KEY_PROPERTIES }}" | base64 --decode > android/key.properties
|
# run: echo "${{ secrets.KEY_PROPERTIES }}" | base64 --decode > android/key.properties
|
||||||
|
|
||||||
- name: Build APKs
|
# - name: Build APKs
|
||||||
run: flutter build apk --release --split-per-abi
|
# run: flutter build apk --release --split-per-abi
|
||||||
|
|
||||||
- name: Build Universal APK
|
# - name: Build Universal APK
|
||||||
run: flutter build apk --release
|
# run: flutter build apk --release
|
||||||
|
|
||||||
- name: Rename Universal APK
|
# - name: Rename Universal APK
|
||||||
run: mv build/app/outputs/flutter-apk/{app-release,app-universal-release}.apk
|
# run: mv build/app/outputs/flutter-apk/{app-release,app-universal-release}.apk
|
||||||
|
|
||||||
- name: Build App Bundle
|
# - name: Build App Bundle
|
||||||
run: flutter build appbundle --release
|
# run: flutter build appbundle --release
|
||||||
|
|
||||||
- name: Upload Android APK Artifact
|
# - name: Upload Android APK Artifact
|
||||||
uses: actions/upload-artifact@v4
|
# uses: actions/upload-artifact@v4
|
||||||
with:
|
# with:
|
||||||
name: android-release-artifacts
|
# name: android-release-artifacts
|
||||||
path: |
|
# path: |
|
||||||
build/app/outputs/flutter-apk/*-release*.apk
|
# build/app/outputs/flutter-apk/*-release*.apk
|
||||||
build/app/outputs/bundle/release/*.aab
|
# build/app/outputs/bundle/release/*.aab
|
||||||
|
|
||||||
build_linux:
|
# build_linux:
|
||||||
needs: test
|
# needs: test
|
||||||
runs-on: ubuntu-latest
|
# runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
# steps:
|
||||||
- name: Checkout repository
|
# - name: Checkout repository
|
||||||
uses: actions/checkout@v4
|
# uses: actions/checkout@v4
|
||||||
with:
|
# with:
|
||||||
submodules: recursive
|
# submodules: recursive
|
||||||
- name: Setup Flutter Environment
|
# - name: Setup Flutter Environment
|
||||||
uses: ./.github/actions/flutter-setup # Path to the composite action directory
|
# uses: ./.github/actions/flutter-setup # Path to the composite action directory
|
||||||
|
|
||||||
- name: Install Linux dependencies
|
# - name: Install Linux dependencies
|
||||||
run: |
|
# run: |
|
||||||
sudo apt-get update -y
|
# sudo apt-get update -y
|
||||||
sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev locate libfuse2
|
# sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev locate libfuse2
|
||||||
# Download and install appimagetool
|
# # Download and install appimagetool
|
||||||
wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
|
# wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
|
||||||
chmod +x appimagetool-x86_64.AppImage
|
# chmod +x appimagetool-x86_64.AppImage
|
||||||
sudo mv appimagetool-x86_64.AppImage /usr/local/bin/appimagetool
|
# sudo mv appimagetool-x86_64.AppImage /usr/local/bin/appimagetool
|
||||||
shell: bash
|
# shell: bash
|
||||||
- name: setup fastforge
|
# - name: setup fastforge
|
||||||
run: |
|
# run: |
|
||||||
dart pub global activate fastforge
|
# dart pub global activate fastforge
|
||||||
- name: Build Linux AppImage and deb
|
# - name: Build Linux AppImage and deb
|
||||||
run: fastforge package --platform linux --targets deb,appimage
|
# run: fastforge package --platform linux --targets deb,appimage
|
||||||
|
|
||||||
- name: Rename Linux Artifacts
|
# - name: Rename Linux Artifacts
|
||||||
run: |
|
# run: |
|
||||||
# Find and rename .deb file
|
# # Find and rename .deb file
|
||||||
DEB_FILE=$(find dist/ -name "*.deb" -type f)
|
# DEB_FILE=$(find dist/ -name "*.deb" -type f)
|
||||||
if [ -n "$DEB_FILE" ]; then
|
# if [ -n "$DEB_FILE" ]; then
|
||||||
mv "$DEB_FILE" dist/vaani-linux-amd64.deb
|
# mv "$DEB_FILE" dist/vaani-linux-amd64.deb
|
||||||
echo "Renamed DEB: $DEB_FILE to dist/vaani-linux-amd64.deb"
|
# echo "Renamed DEB: $DEB_FILE to dist/vaani-linux-amd64.deb"
|
||||||
else
|
# else
|
||||||
echo "Error: .deb file not found in dist/"
|
# echo "Error: .deb file not found in dist/"
|
||||||
exit 1
|
# exit 1
|
||||||
fi
|
# fi
|
||||||
|
|
||||||
# Find and rename .AppImage file
|
# # Find and rename .AppImage file
|
||||||
APPIMAGE_FILE=$(find dist/ -name "*.AppImage" -type f)
|
# APPIMAGE_FILE=$(find dist/ -name "*.AppImage" -type f)
|
||||||
if [ -n "$APPIMAGE_FILE" ]; then
|
# if [ -n "$APPIMAGE_FILE" ]; then
|
||||||
mv "$APPIMAGE_FILE" dist/vaani-linux-amd64.AppImage
|
# mv "$APPIMAGE_FILE" dist/vaani-linux-amd64.AppImage
|
||||||
echo "Renamed AppImage: $APPIMAGE_FILE to dist/vaani-linux-amd64.AppImage"
|
# echo "Renamed AppImage: $APPIMAGE_FILE to dist/vaani-linux-amd64.AppImage"
|
||||||
else
|
# else
|
||||||
echo "Error: .AppImage file not found in dist/"
|
# echo "Error: .AppImage file not found in dist/"
|
||||||
exit 1
|
# exit 1
|
||||||
fi
|
# fi
|
||||||
shell: bash
|
# shell: bash
|
||||||
|
|
||||||
- name: Upload Linux Artifacts
|
# - name: Upload Linux Artifacts
|
||||||
uses: actions/upload-artifact@v4
|
# uses: actions/upload-artifact@v4
|
||||||
with:
|
# with:
|
||||||
name: linux-release-artifacts
|
# name: linux-release-artifacts
|
||||||
path: |
|
# path: |
|
||||||
dist/vaani-linux-amd64.deb
|
# dist/vaani-linux-amd64.deb
|
||||||
dist/vaani-linux-amd64.AppImage
|
# dist/vaani-linux-amd64.AppImage
|
||||||
|
|
||||||
build_windows:
|
# build_windows:
|
||||||
needs: test
|
# needs: test
|
||||||
runs-on: windows-latest
|
# runs-on: windows-latest
|
||||||
|
# permissions:
|
||||||
|
# contents: write
|
||||||
|
# steps:
|
||||||
|
# - name: Checkout repository
|
||||||
|
# uses: actions/checkout@v4
|
||||||
|
# with:
|
||||||
|
# submodules: recursive
|
||||||
|
|
||||||
|
# - name: Setup Flutter
|
||||||
|
# uses: subosito/flutter-action@v2
|
||||||
|
# with:
|
||||||
|
# flutter-version: "3.32.0"
|
||||||
|
# cache: true
|
||||||
|
|
||||||
|
# - name: Restore Packages
|
||||||
|
# run: |
|
||||||
|
# flutter pub get
|
||||||
|
|
||||||
|
# - name: Install flutter_distributor
|
||||||
|
# run: dart pub global activate flutter_distributor
|
||||||
|
|
||||||
|
# - name: Build Windows
|
||||||
|
# run: |
|
||||||
|
# flutter_distributor package --platform windows --targets msix,zip --skip-clean
|
||||||
|
|
||||||
|
# - name: Upload Windows Artifacts
|
||||||
|
# uses: actions/upload-artifact@v4
|
||||||
|
# with:
|
||||||
|
# name: windows-release-artifacts
|
||||||
|
# path: |
|
||||||
|
# dist/*/*.msix
|
||||||
|
# dist/*/*.zip
|
||||||
|
|
||||||
|
build_macos:
|
||||||
|
# needs: test
|
||||||
|
runs-on: macos-latest
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
steps:
|
steps:
|
||||||
|
|
@ -168,34 +204,41 @@ jobs:
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
submodules: recursive
|
submodules: recursive
|
||||||
|
|
||||||
- name: Setup Flutter
|
- name: Setup Flutter
|
||||||
uses: subosito/flutter-action@v2
|
uses: subosito/flutter-action@v2
|
||||||
with:
|
with:
|
||||||
flutter-version: "3.32.0"
|
flutter-version: "3.32.0"
|
||||||
cache: true
|
cache: true
|
||||||
- name: Restore Packages
|
|
||||||
|
- name: Restore packages
|
||||||
run: |
|
run: |
|
||||||
flutter pub get
|
flutter pub get
|
||||||
|
|
||||||
|
- name: Install appdmg
|
||||||
|
run: npm install -g appdmg
|
||||||
|
|
||||||
- name: Install flutter_distributor
|
- name: Install flutter_distributor
|
||||||
run: dart pub global activate flutter_distributor
|
run: dart pub global activate flutter_distributor
|
||||||
|
|
||||||
- name: Build Windows
|
- name: Build MacOS
|
||||||
run: |
|
run: |
|
||||||
flutter_distributor package --platform windows --targets msix,zip --skip-clean
|
flutter_distributor package --platform macos --targets dmg,zip --skip-clean
|
||||||
|
|
||||||
- name: Upload Windows Artifacts
|
- name: Upload MacOS to Artifacts
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: windows-release-artifacts
|
name: macos-release-artifacts
|
||||||
path: |
|
path: |
|
||||||
dist/*/*.msix
|
dist/*/*.dmg
|
||||||
dist/*/*.zip
|
dist/*/*.zip
|
||||||
|
|
||||||
|
|
||||||
# Job 4: Create GitHub Release (NEW - runs only on tag pushes)
|
# Job 4: Create GitHub Release (NEW - runs only on tag pushes)
|
||||||
create_release:
|
create_release:
|
||||||
name: Create GitHub Release
|
name: Create GitHub Release
|
||||||
needs: [build_android, build_linux, build_windows] # Depends on successful builds
|
# needs: [build_android, build_linux, build_windows, build_macos] # Depends on successful builds
|
||||||
|
needs: build_macos # Depends on successful builds
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
permissions:
|
permissions:
|
||||||
contents: write # Need write access to create release
|
contents: write # Need write access to create release
|
||||||
|
|
@ -220,12 +263,18 @@ jobs:
|
||||||
name: linux-release-artifacts
|
name: linux-release-artifacts
|
||||||
path: ./release-artifacts/linux
|
path: ./release-artifacts/linux
|
||||||
|
|
||||||
- name: Download Linux Artifacts
|
- name: Download Windows Artifacts
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: windows-release-artifacts
|
name: windows-release-artifacts
|
||||||
path: ./release-artifacts/windows
|
path: ./release-artifacts/windows
|
||||||
|
|
||||||
|
- name: Download Macos Artifacts
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: macos-release-artifacts
|
||||||
|
path: ./release-artifacts/macos
|
||||||
|
|
||||||
- name: List downloaded files (for debugging)
|
- name: List downloaded files (for debugging)
|
||||||
run: ls -R ./release-artifacts
|
run: ls -R ./release-artifacts
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue