name: build-twa on: push: branches: [ main ] jobs: build: runs-on: ubuntu-latest env: KEYSTORE_PASS: ${{ secrets.KEYSTORE_PASS }} KEY_PASS: ${{ secrets.KEY_PASS }} KEY_ALIAS: ${{ secrets.KEY_ALIAS }} steps: - uses: actions/checkout@v4 - name: Setup Java uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: 11 - name: Setup Node uses: actions/setup-node@v4 with: node-version: 18 - name: Install Bubblewrap run: npm install -g @bubblewrap/cli - name: Decode keystore run: | echo "${{ secrets.JKS_BASE64 }}" | base64 --decode > sune-keystore.jks chmod 600 sune-keystore.jks - name: Sanity show SHA256 run: keytool -list -v -keystore sune-keystore.jks -alias "${{ secrets.KEY_ALIAS }}" -storepass "${{ secrets.KEYSTORE_PASS }}" | grep -i "SHA256" - name: Bubblewrap build & sign run: | bubblewrap build --keystorePath=sune-keystore.jks --keystoreAlias="${KEY_ALIAS}" --keystorePassword="${KEYSTORE_PASS}" --keyPassword="${KEY_PASS}" - name: Upload APK uses: actions/upload-artifact@v4 with: name: sune-apk path: android-build-output/*.apk || app/build/outputs/apk/release/*.apk