Release v1.0.2 #6
Workflow file for this run
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
| name: Release | |
| on: | |
| release: | |
| types: [created] | |
| permissions: | |
| contents: write # needed to upload assets to the release | |
| jobs: | |
| # ─── Android ──────────────────────────────────────────────────────────────── | |
| android: | |
| name: Android APKs | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-java@v4 | |
| with: | |
| distribution: temurin | |
| java-version: '21' | |
| - uses: subosito/flutter-action@v2 | |
| with: | |
| channel: stable | |
| cache: true | |
| - run: flutter pub get | |
| - name: Decode release keystore | |
| run: echo "${{ secrets.RELEASE_KEYSTORE_BASE64 }}" | base64 -d > android/app/release.keystore | |
| - name: Build APKs (split per ABI) | |
| env: | |
| RELEASE_STORE_PATH: release.keystore | |
| RELEASE_STORE_PASSWORD: ${{ secrets.RELEASE_STORE_PASSWORD }} | |
| RELEASE_KEY_ALIAS: ${{ secrets.RELEASE_KEY_ALIAS }} | |
| RELEASE_KEY_PASSWORD: ${{ secrets.RELEASE_KEY_PASSWORD }} | |
| run: flutter build apk --release --split-per-abi | |
| - name: Rename APKs | |
| run: | | |
| TAG=${{ github.ref_name }} | |
| DIR=build/app/outputs/flutter-apk | |
| mv $DIR/app-arm64-v8a-release.apk $DIR/meshcli-ng-${TAG}-android-arm64.apk | |
| mv $DIR/app-armeabi-v7a-release.apk $DIR/meshcli-ng-${TAG}-android-arm32.apk | |
| mv $DIR/app-x86_64-release.apk $DIR/meshcli-ng-${TAG}-android-x86_64.apk | |
| - name: Upload APKs to release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: | | |
| build/app/outputs/flutter-apk/meshcli-ng-${{ github.ref_name }}-android-arm64.apk | |
| build/app/outputs/flutter-apk/meshcli-ng-${{ github.ref_name }}-android-arm32.apk | |
| build/app/outputs/flutter-apk/meshcli-ng-${{ github.ref_name }}-android-x86_64.apk | |
| # ─── Linux ────────────────────────────────────────────────────────────────── | |
| linux: | |
| name: Linux bundle | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install build dependencies | |
| run: | | |
| sudo apt-get update -q | |
| sudo apt-get install -y \ | |
| clang cmake ninja-build \ | |
| libgtk-3-dev \ | |
| libserialport-dev | |
| - uses: subosito/flutter-action@v2 | |
| with: | |
| channel: stable | |
| cache: true | |
| - run: flutter config --enable-linux-desktop | |
| - run: flutter pub get | |
| - name: Build Linux | |
| run: flutter build linux --release | |
| - name: Package bundle | |
| run: | | |
| TAG=${{ github.ref_name }} | |
| tar -czf meshcli-ng-${TAG}-linux-x64.tar.gz \ | |
| -C build/linux/x64/release bundle/ | |
| - name: Upload to release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: meshcli-ng-${{ github.ref_name }}-linux-x64.tar.gz | |
| # ─── Windows ──────────────────────────────────────────────────────────────── | |
| windows: | |
| name: Windows bundle | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: subosito/flutter-action@v2 | |
| with: | |
| channel: stable | |
| cache: true | |
| - run: flutter config --enable-windows-desktop | |
| - run: flutter pub get | |
| - name: Build Windows | |
| run: flutter build windows --release | |
| - name: Package bundle | |
| shell: pwsh | |
| run: | | |
| $tag = "${{ github.ref_name }}" | |
| Compress-Archive ` | |
| -Path build/windows/x64/runner/Release/* ` | |
| -DestinationPath "meshcli-ng-${tag}-windows-x64.zip" | |
| - name: Upload to release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: meshcli-ng-${{ github.ref_name }}-windows-x64.zip |