测试全平台自动构建

This commit is contained in:
rang 2025-10-25 16:43:34 +08:00
parent 750b2ba987
commit 41ade02ace

View file

@ -9,192 +9,192 @@ 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: permissions:
# contents: write contents: write
# 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 - 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 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 Windows
# run: | run: |
# flutter_distributor package --platform windows --targets msix,zip --skip-clean flutter_distributor package --platform windows --targets msix,zip --skip-clean
# - name: Upload Windows Artifacts - name: Upload Windows Artifacts
# uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
# with: with:
# name: windows-release-artifacts name: windows-release-artifacts
# path: | path: |
# dist/*/*.msix dist/*/*.msix
# dist/*/*.zip dist/*/*.zip
build_macos: build_ios_macos:
# needs: test # needs: test
runs-on: macos-latest runs-on: macos-latest
permissions: permissions:
@ -256,8 +256,7 @@ jobs:
# 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, build_macos] # Depends on successful builds needs: [build_android, build_linux, build_windows, build_ios_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