make modifications to windows installer #22
This file contains hidden or 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
on: | ||
workflow_dispatch: | ||
jobs: | ||
# linux: | ||
# runs-on: ubuntu-latest | ||
# | ||
# steps: | ||
# - name: Clone repository | ||
# uses: actions/checkout@v4 | ||
# | ||
# - name: Set up Flutter | ||
# uses: subosito/flutter-action@v2 | ||
# with: | ||
# channel: stable | ||
# cache: true | ||
# | ||
# - name: Setup os dependencies | ||
# run: | | ||
# sudo apt-get update -y | ||
# sudo apt-get install clang cmake git ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev libmpv-dev mpv rpm patchelf | ||
# | ||
# - name: Install app dependencies | ||
# run: flutter pub get | ||
# | ||
# - name: Install flutter_distributor | ||
# run: dart pub global activate flutter_distributor | ||
# | ||
# - name: Export path | ||
# run: export PATH="$PATH":"$HOME/.pub-cache/bin" | ||
# | ||
# - name: Build linux deb | ||
# run: | | ||
# flutter_distributor release --name=dev --jobs=release-dev-linux-deb | ||
# cp "dist/"*"/quran_app_flutter-"*"-linux.deb" quran_app_flutter.deb | ||
# | ||
# - name: Build linux rpm | ||
# run: | | ||
# flutter_distributor release --name=dev --jobs=release-dev-linux-rpm | ||
# cp "dist/"*"/quran_app_flutter-"*"-linux.rpm" quran_app_flutter.rpm | ||
# | ||
# - name: Build web | ||
# run: | | ||
# flutter build web --release | ||
# tar -czf quran_app_flutter_web.tar.gz -C build web | ||
# | ||
# - name: Extract version from pubspec.yaml | ||
# id: extract_version | ||
# run: | | ||
# version=$(grep '^version: ' pubspec.yaml | cut -d ' ' -f 2 | tr -d '\r') | ||
# echo "VERSION=$version" >> $GITHUB_ENV | ||
# | ||
# - name: Create Release | ||
# uses: ncipollo/release-action@v1 | ||
# with: | ||
# artifacts: "quran_app_flutter.deb,quran_app_flutter.rpm,quran_app_flutter_web.tar.gz" | ||
# tag: v${{ env.VERSION }} | ||
# token: ${{ secrets.TOKEN }} | ||
# allowUpdates: true | ||
# | ||
# android-on-linux: | ||
# runs-on: ubuntu-latest | ||
# | ||
# steps: | ||
# - name: Clone repository | ||
# uses: actions/checkout@v4 | ||
# | ||
# - name: Set up Flutter | ||
# uses: subosito/flutter-action@v2 | ||
# with: | ||
# channel: stable | ||
# cache: true | ||
# | ||
# - name: Setup os dependencies | ||
# run: | | ||
# sudo apt-get update -y | ||
# sudo apt-get install clang cmake git ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev libmpv-dev mpv rpm patchelf | ||
# | ||
# - name: Install app dependencies | ||
# run: flutter pub get | ||
# | ||
# - name: Build APK | ||
# run: | | ||
# flutter build apk --release | ||
# cp build/app/outputs/flutter-apk/app-release.apk quran_app_flutter.apk | ||
# | ||
# - name: Extract version from pubspec.yaml | ||
# id: extract_version | ||
# run: | | ||
# version=$(grep '^version: ' pubspec.yaml | cut -d ' ' -f 2 | tr -d '\r') | ||
# echo "VERSION=$version" >> $GITHUB_ENV | ||
# | ||
# - name: Create Release | ||
# uses: ncipollo/release-action@v1 | ||
# with: | ||
# artifacts: "quran_app_flutter.apk" | ||
# tag: v${{ env.VERSION }} | ||
# token: ${{ secrets.TOKEN }} | ||
# allowUpdates: true | ||
windows: | ||
runs-on: windows-latest | ||
steps: | ||
- name: inno setup | ||
uses: @pwall2222/inno-setup-download | ||
- name: Clone repository | ||
uses: actions/checkout@v4 | ||
- name: Set up Flutter | ||
uses: subosito/flutter-action@v2 | ||
with: | ||
channel: stable | ||
cache: true | ||
- name: Install Dependencies | ||
run: flutter pub get | ||
- name: Install flutter_distributor | ||
run: dart pub global activate flutter_distributor | ||
- name: Build Windows | ||
run: | | ||
& "$HOME\AppData\Local\Pub\Cache\bin\flutter_distributor.bat" package --artifact-name quran_app_flutter.exe --platform windows --targets exe | ||
$setup_path = Join-Path "dist" "*" -Resolve | ||
cp "$setup_path\quran_app_flutter.exe" . | ||
- name: Create Release | ||
uses: ncipollo/release-action@v1 | ||
with: | ||
artifacts: "quran_app_flutter.exe" | ||
tag: v0.0.1+3 | ||
token: ${{ secrets.TOKEN }} | ||
allowUpdates: true | ||
# build: | ||
# name: Build and Release | ||
# runs-on: ${{ matrix.os }} | ||
# strategy: | ||
# fail-fast: false | ||
# matrix: | ||
# os: [ubuntu-latest, macos-latest, windows-latest] | ||
# | ||
# steps: | ||
# - name: Clone repository | ||
# uses: actions/checkout@v4 | ||
# | ||
# - name: Set up Flutter | ||
# uses: subosito/flutter-action@v2 | ||
# with: | ||
# channel: stable | ||
# cache: true | ||
# | ||
# - name: Install Dependencies | ||
# run: flutter pub get | ||
# | ||
# | ||
# - if: startsWith(matrix.os, 'ubuntu') | ||
# | ||
# | ||
# - if: startsWith(matrix.os, 'ubuntu') | ||
# name: Build appBundle | ||
# run: flutter build appbundle --release | ||
# | ||
# - if: startsWith(matrix.os, 'ubuntu') | ||
# name: Build web | ||
# run: flutter build web --release | ||
# | ||
# - if: startsWith(matrix.os, 'macos') | ||
# name: Build MacOS | ||
# run: flutter build macos --release | ||
# | ||
## TODO: fix ios build | ||
## - if: startsWith(matrix.os, 'macos') | ||
## name: Build MacOS | ||
## run: flutter build ios --release --no-codesign | ||
# | ||
# - if: startsWith(matrix.os, 'windows') | ||
# name: Build Windows | ||
# run: dart run inno_build | ||
# # End Building | ||
# | ||
# # Compressing | ||
# - if: startsWith(matrix.os, 'ubuntu') | ||
# name: Compress Archives | ||
# run: | | ||
# tar -czf linux_build.tar.gz -C build/linux/x64/release bundle | ||
# tar -czf web_build.tar.gz -C build web | ||
# | ||
# - if: startsWith(matrix.os, 'macos') | ||
# name: Compress Archives | ||
# run: | | ||
# tar -czf macos_build.tar.gz -C build/macos/Build/Products/ Release | ||
## tar -czf ios_build.tar.gz -C build ios | ||
# | ||
# - if: startsWith(matrix.os, 'windows') | ||
# name: Compress Archives | ||
# run: | | ||
# cp build\windows\x64\installer\Release\installer.exe quran_app_flutter.exe | ||
# # End Compressing | ||
# | ||
# - if: ${{ !startsWith(matrix.os, 'windows') }} | ||
# name: Extract version from pubspec.yaml | ||
# id: extract_version | ||
# run: | | ||
# version=$(grep '^version: ' pubspec.yaml | cut -d ' ' -f 2 | tr -d '\r') | ||
# echo "VERSION=$version" >> $GITHUB_ENV | ||
# | ||
# - if: ${{ !startsWith(matrix.os, 'windows') }} | ||
# name: Check if Tag Exists | ||
# id: check_tag | ||
# run: | | ||
# if git rev-parse "v${{ env.VERSION }}" >/dev/null 2>&1; then | ||
# echo "TAG_EXISTS=true" >> $GITHUB_ENV | ||
# else | ||
# echo "TAG_EXISTS=false" >> $GITHUB_ENV | ||
# fi | ||
# | ||
# - if: ${{ !startsWith(matrix.os, 'windows') && env.TAG_EXISTS == 'true' }} | ||
# name: Modify Tag | ||
# id: modify_tag | ||
# run: | | ||
# new_version="${{ env.VERSION }}-build-${{ github.run_number }}" | ||
# echo "VERSION=$new_version" >> $GITHUB_ENV | ||
# | ||
# # Creating Relases | ||
# - if: startsWith(matrix.os, 'ubuntu') | ||
# name: Create Release | ||
# uses: ncipollo/release-action@v1 | ||
# with: | ||
# artifacts: "build/app/outputs/flutter-apk/app-release.apk,build/app/outputs/bundle/release/app-release.aab,linux_build.tar.gz" | ||
# tag: v${{ env.VERSION }} | ||
# token: ${{ secrets.TOKEN }} | ||
# allowUpdates: true | ||
# | ||
# - if: startsWith(matrix.os, 'macos') | ||
# name: Create Release | ||
# uses: ncipollo/release-action@v1 | ||
# with: | ||
# artifacts: "macos_build.tar.gz,ios_build.tar.gz" | ||
# tag: v${{ env.VERSION }} | ||
# token: ${{ secrets.TOKEN }} | ||
# allowUpdates: true | ||
# | ||
# - if: startsWith(matrix.os, 'windows') | ||
# name: Create Release | ||
# uses: ncipollo/release-action@v1 | ||
# with: | ||
# artifacts: "quran_app_flutter.exe" | ||
# tag: v0.0.1+2 | ||
# token: ${{ secrets.TOKEN }} | ||
# allowUpdates: true | ||
# # End Creating Relases |