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