Skip to content

Refactor localization implementation and remove unused ARB files #13

Refactor localization implementation and remove unused ARB files

Refactor localization implementation and remove unused ARB files #13

name: Build and Release
on:
workflow_dispatch:
push:
branches: [main, development]
pull_request:
branches: [main, development]
jobs:
build-android:
name: Build Android
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
channel: stable
flutter-version-file: pubspec.yaml
- uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'jetbrains'
- run: flutter build apk --release
- uses: actions/upload-artifact@v4
with:
name: android-apk
path: build/app/outputs/flutter-apk/app-release.apk
build-ios:
name: Build iOS
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
channel: stable
flutter-version-file: pubspec.yaml
- run: flutter build ios --release --no-codesign
- uses: actions/upload-artifact@v4
with:
name: ios-app
path: build/ios/iphoneos/Runner.app
build-macos:
name: Build macOS
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
channel: stable
flutter-version-file: pubspec.yaml
- run: flutter build macos --release
- uses: actions/upload-artifact@v4
with:
name: macos-app
path: build/macos/Build/Products/Release/VPN\ Client.app
build-windows:
name: Build Windows
runs-on: windows-latest
steps:
- name: Enable long paths on Windows
run: git config --system core.longpaths true
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
channel: stable
flutter-version-file: pubspec.yaml
- run: flutter build windows --release
- uses: actions/upload-artifact@v4
with:
name: windows-app
path: build/windows/x64/runner/Release/vpn_client.exe
build-linux:
name: Build Linux
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
channel: stable
flutter-version-file: pubspec.yaml
- run: |
sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev
flutter build linux --release
- uses: actions/upload-artifact@v4
with:
name: linux-app
path: build/linux/x64/release/bundle
release:
name: Create Release
if: ${{ github.ref == 'refs/heads/main' && startsWith(github.ref, 'refs/tags/v') }}
needs: [build-android, build-ios, build-macos, build-windows, build-linux]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
path: artifacts
- uses: softprops/action-gh-release@v2
with:
files: |
artifacts/android-apk/app-release.apk
artifacts/ios-app/Runner.app
artifacts/macos-app/VPNclient.app
artifacts/windows-app/VPNclient.exe
artifacts/linux-app/bundle/
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}