name: Build Release AAB on: push: tags: ['v*'] workflow_dispatch: jobs: build: runs-on: self-hosted steps: - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' - name: Checkout repository uses: actions/checkout@v4 - name: Setup Flutter uses: subosito/flutter-action@v2 with: flutter-version: '3.27.1' channel: 'stable' cache: true - name: Get dependencies run: flutter pub get - name: Analyze code run: flutter analyze --no-pub - name: Run tests run: flutter test - name: Decode keystore if: env.KEYSTORE_BASE64 != '' run: echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 -d > siab-release.keystore env: KEYSTORE_BASE64: ${{ secrets.KEYSTORE_BASE64 }} - name: Build App Bundle run: | flutter build appbundle \ --release \ --obfuscate \ --split-debug-info=build/debug-info \ --dart-define=SIAB_DEVICE_NAME=SIAB env: KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }} KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }} - name: Upload AAB artifact uses: actions/upload-artifact@v4 with: name: siab-scale-${{ github.ref_name }} path: build/app/outputs/bundle/release/app-release.aab - name: Upload debug symbols uses: actions/upload-artifact@v4 with: name: debug-symbols-${{ github.ref_name }} path: build/debug-info/