Test build #77
This file contains 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
name: Test build | |
on: | |
workflow_dispatch: | |
env: | |
CI_FLUTTER_VERSION: '3.16.x' | |
jobs: | |
build-linux-android: | |
name: Build Linux and Android | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@v4 | |
with: | |
distribution: 'zulu' | |
java-version: '11' | |
- uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: ${{env.CI_FLUTTER_VERSION}} | |
cache: true | |
- run: | | |
sudo apt update -y | |
sudo apt install -y ninja-build libgtk-3-dev | |
- name: Precompile | |
run: | | |
flutter pub get | |
dart run build_runner build | |
- name: Build Linux | |
run: flutter build linux --release | |
- name: Pre Packing | |
run: | | |
pushd build/linux/x64/release/ | |
mv bundle tsdm_client | |
popd | |
- name: Pack Linux tarball | |
uses: thedoctor0/zip-release@master | |
with: | |
type: 'tar' | |
filename: tsdm_client-linux.tar.gz | |
directory: build/linux/x64/release/ | |
path: tsdm_client | |
- name: Upload Linux artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: tsdm_client-linux-tarball | |
path: build/linux/x64/release/tsdm_client-linux.tar.gz | |
- name: Setup Android sign key | |
run: | | |
echo '${{ secrets.KEYSTORE }}' | base64 --decode > android/app/key.jks | |
echo '${{ secrets.KEY_PROPERTIES }}' > android/key.properties | |
- name: Build Android | |
run: | | |
flutter build apk --release | |
- name: Pack Android apk | |
run: | | |
pushd build/app/outputs/flutter-apk/ | |
mv app-arm64-v8a-release.apk tsdm_client-arm64_v8a.apk | |
mv app-armeabi-v7a-release.apk tsdm_client-armeabi_v7a.apk | |
popd | |
- name: Upload Android artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: tsdm_client-apk-arm64_v8a | |
path: | | |
build/app/outputs/flutter-apk/tsdm_client-arm64_v8a.apk | |
build-windows: | |
name: Build Windows | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: ${{env.CI_FLUTTER_VERSION}} | |
- name: Precompile | |
run: | | |
flutter pub get | |
dart run build_runner build | |
- name: Build Windows | |
run: flutter build windows --release | |
- name: Pre Packing | |
shell: pwsh | |
run: | | |
cd build/windows/x64/runner | |
Rename-Item Release tsdm_client | |
cd ../../../../ | |
- name: Pack Windows tarball | |
uses: thedoctor0/zip-release@master | |
with: | |
type: 'zip' | |
filename: tsdm_client-windows.zip | |
directory: build/windows/x64/runner | |
path: tsdm_client | |
- name: Upload Windows artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: tsdm_client-windows-tarball | |
path: build/windows/x64/runner/tsdm_client-windows.zip | |
build-macos-and-ios: | |
name: Build MacOS and iOS | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: ${{env.CI_FLUTTER_VERSION}} | |
cache: true | |
- name: Precompile | |
run: | | |
flutter pub get | |
dart run build_runner build | |
- name: Build MacOS | |
run: | | |
flutter build macos --release | |
- name: Packing MacOS dmg | |
run: | | |
python3 -m pip install setuptools | |
npm install -g appdmg | |
appdmg appdmg.json build/tsdm_client-universal.dmg | |
- name: Upload MacOS artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: tsdm_client-windows-tarball | |
path: build/tsdm_client-universal.dmg | |
- name: Build iOS ipa | |
run: | | |
flutter build ios --release --no-codesign | |
- name: Packing | |
run: | | |
mkdir Payload | |
mv build/ios/iphoneos/Runner.app Payload | |
zip -r9 tsdm_client.ipa Payload | |
- name: Upload iOS artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: tsdm_client-windows-tarball | |
path: tsdm_client.ipa |