Skip to content

internal wf: disable montudor/action-zip #859

internal wf: disable montudor/action-zip

internal wf: disable montudor/action-zip #859

Workflow file for this run

name: Build and publish Beta
on:
push:
branches:
- "dev"
- "internal-wf-arc-runner-set"
concurrency:
group: "deploy"
jobs:
invalidate_gradle_cache:
name: Update gradle cache
runs-on: arc-runner-set
steps:
- uses: actions/checkout@v4.1.1
with:
submodules: "recursive"
- name: Set up JDK 1.17
uses: actions/setup-java@v4.2.1
with:
distribution: "temurin"
java-version: "17"
- name: Setup Android SDK
uses: android-actions/setup-android@v3.2.1
- name: Build internal
uses: gradle/actions/setup-gradle@v3.2.1
with:
cache-read-only: false
arguments: testDebug detekt lint
build_number:
name: Generate build number
runs-on: arc-runner-set
outputs:
number: ${{ steps.build_out.outputs.number }}
number_wearos: ${{ steps.wearos_out.outputs.number_wearos }}
steps:
- name: Generate build number
id: buildnumber
uses: onyxmueller/build-tag-number@4a0c81c9af350d967032d49204c83c38e6b0c8e4 # v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Generate build number for WearOS
id: buildnumber_wearos
uses: onyxmueller/build-tag-number@4a0c81c9af350d967032d49204c83c38e6b0c8e4 # v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: "Set output for simple build"
id: build_out
run: |
echo "number=${{ steps.buildnumber.outputs.build_number }}" >> $GITHUB_OUTPUT
- name: "Set output for WearOS"
id: wearos_out
run: |
echo "number_wearos=${{ steps.buildnumber_wearos.outputs.build_number }}" >> $GITHUB_OUTPUT
build_internal_release:
name: Build Internal AAB and APK
runs-on: arc-runner-set
needs: build_number
strategy:
matrix:
target: ["gh_gms", "gh_nogms", "googleplay"]
steps:
- uses: actions/checkout@v4.1.1
with:
submodules: "recursive"
- name: Set up JDK 1.17
uses: actions/setup-java@v4.2.1
with:
distribution: "temurin"
java-version: "17"
- name: Setup Android SDK
uses: android-actions/setup-android@v3.2.1
- name: "Set variables"
id: vars
run: |
export $(cat .github/workflows/version.env | xargs)
echo "major_version=${MAJOR_VERSION}" >> $GITHUB_OUTPUT
echo "minor_version=${{ needs.build_number.outputs.number }}" >> $GITHUB_OUTPUT
- name: Build internal release
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
ORG_GRADLE_PROJECT_version_code: ${{ steps.vars.outputs.minor_version }}
ORG_GRADLE_PROJECT_version_name: "${{ steps.vars.outputs.major_version }}.${{ steps.vars.outputs.minor_version }}"
ORG_GRADLE_PROJECT_countly_url: ${{ secrets.COUNTLY_URL_PROD }}
ORG_GRADLE_PROJECT_countly_app_key: ${{ secrets.COUNTLY_APP_KEY_PROD }}
run: |
export $(cat .github/workflows/targets/${{ matrix.target }}.env | xargs)
./gradlew :instances:app:assembleInternal :instances:app:bundleInternal
- name: Sign AAB
id: sign_aab
uses: r0adkll/sign-android-release@349ebdef58775b1e0d8099458af0816dc79b6407 # v1
with:
releaseDirectory: instances/app/build/outputs/bundle/internal
signingKeyBase64: ${{ secrets.SIGNING_KEY }}
alias: ${{ secrets.KEY_ALIAS }}
keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }}
keyPassword: ${{ secrets.KEY_ALIAS_PASSWORD }}
env:
BUILD_TOOLS_VERSION: "34.0.0"
- name: Sign APK
id: sign_apk
uses: r0adkll/sign-android-release@349ebdef58775b1e0d8099458af0816dc79b6407 # v1
with:
releaseDirectory: instances/app/build/outputs/apk/internal
signingKeyBase64: ${{ secrets.SIGNING_KEY }}
alias: ${{ secrets.KEY_ALIAS }}
keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }}
keyPassword: ${{ secrets.KEY_ALIAS_PASSWORD }}
env:
BUILD_TOOLS_VERSION: "34.0.0"
- name: Copy artifacts
id: artifacts_copy
run: |
mkdir artifacts
cp ${{ steps.sign_aab.outputs.signedReleaseFile }} artifacts/flipper-zero-${{ matrix.target }}.aab
cp ${{ steps.sign_apk.outputs.signedReleaseFile }} artifacts/flipper-zero-${{ matrix.target }}.apk
cp instances/app/build/outputs/mapping/internal/mapping.txt artifacts/mapping-${{ matrix.target }}.txt
echo "path=artifacts/" >> $GITHUB_OUTPUT
- name: Upload Artifacts
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4
with:
name: artifacts-${{ matrix.target }}
path: ${{ steps.artifacts_copy.outputs.path }}
build_internal_release_gms_wearos:
name: Build Internal AAB and APK WearOS
runs-on: arc-runner-set
needs: build_number
steps:
- uses: actions/checkout@v4.1.1
with:
submodules: "recursive"
- name: Set up JDK 1.17
uses: actions/setup-java@v4.2.1
with:
distribution: "temurin"
java-version: "17"
- name: Setup Android SDK
uses: android-actions/setup-android@v3.2.1
- name: "Set variables"
id: vars
run: |
export $(cat .github/workflows/version.env | xargs)
echo "major_version=${MAJOR_VERSION}" >> $GITHUB_OUTPUT
echo "minor_version=${{ needs.build_number.outputs.number_wearos }}" >> $GITHUB_OUTPUT
- name: Build internal release
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
ORG_GRADLE_PROJECT_version_code: ${{ steps.vars.outputs.minor_version }}
ORG_GRADLE_PROJECT_version_name: "${{ steps.vars.outputs.major_version }}.${{ steps.vars.outputs.minor_version }}"
run: |
export $(cat .github/workflows/targets/wearos.env | xargs)
./gradlew :instances:wearable:assembleInternal :instances:wearable:bundleInternal
- name: Sign Wear AAB
id: sign_wear_aab
uses: r0adkll/sign-android-release@349ebdef58775b1e0d8099458af0816dc79b6407 # v1
with:
releaseDirectory: instances/wearable/build/outputs/bundle/internal
signingKeyBase64: ${{ secrets.SIGNING_KEY }}
alias: ${{ secrets.KEY_ALIAS }}
keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }}
keyPassword: ${{ secrets.KEY_ALIAS_PASSWORD }}
env:
BUILD_TOOLS_VERSION: "34.0.0"
- name: Sign Wear APK
id: sign_wear_apk
uses: r0adkll/sign-android-release@349ebdef58775b1e0d8099458af0816dc79b6407 # v1
with:
releaseDirectory: instances/wearable/build/outputs/apk/internal
signingKeyBase64: ${{ secrets.SIGNING_KEY }}
alias: ${{ secrets.KEY_ALIAS }}
keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }}
keyPassword: ${{ secrets.KEY_ALIAS_PASSWORD }}
env:
BUILD_TOOLS_VERSION: "34.0.0"
- name: Copy artifacts
id: artifacts_copy
run: |
mkdir artifacts
cp ${{ steps.sign_wear_aab.outputs.signedReleaseFile }} artifacts/flipper-zero-wearos.aab
cp ${{ steps.sign_wear_apk.outputs.signedReleaseFile }} artifacts/flipper-zero-wearos.apk
cp instances/wearable/build/outputs/mapping/internal/mapping.txt artifacts/mapping-wearos.txt
echo "path=artifacts/" >> $GITHUB_OUTPUT
- name: Upload Artifacts
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4
with:
name: artifacts-wearos
path: ${{ steps.artifacts_copy.outputs.path }}
upload_to_github:
name: Upload to Github Releases
runs-on: arc-runner-set
needs:
[build_internal_release, build_internal_release_gms_wearos, build_number]
steps:
- uses: actions/checkout@v4.1.1
with:
submodules: "recursive"
- uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4
id: download-gh_gms
with:
name: artifacts-gh_gms
path: download/gh_gms
- uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4
id: download-gh_nogms
with:
name: artifacts-gh_nogms
path: download/gh_nogms
- uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4
id: download-googleplay
with:
name: artifacts-googleplay
path: download/googleplay
- uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4
id: download-wearos
with:
name: artifacts-wearos
path: download/wearos
- name: "Set variables"
id: vars
run: |
export $(cat .github/workflows/version.env | xargs)
echo "major_version=${MAJOR_VERSION}" >> $GITHUB_OUTPUT
echo "minor_version=${{ needs.build_number.outputs.number }}" >> $GITHUB_OUTPUT
- name: "Copy artifacts"
id: artifacts_copy
run: |
mkdir artifacts
cp ${{steps.download-gh_gms.outputs.download-path}}/* artifacts/
cp ${{steps.download-gh_nogms.outputs.download-path}}/* artifacts/
cp ${{steps.download-googleplay.outputs.download-path}}/* artifacts/
cp ${{steps.download-wearos.outputs.download-path}}/* artifacts/
echo "path=artifacts/" >> $GITHUB_OUTPUT
#- name: Install zip
# uses: montudor/action-zip@a8e75c9faefcd80fac3baf53ef40b9b119d5b702 # v1
- name: Prepare mapping
id: mappings
run: |
mkdir mappings
for target in "gh_gms" "gh_nogms" "googleplay" "wearos"; do \
mv "${{ steps.artifacts_copy.outputs.path }}/mapping-${target}.txt" mappings/ ; done
zip -qq -r mappings.zip mappings
echo "archive=mappings.zip" >> $GITHUB_OUTPUT
- name: Prepare other builds
id: other
run: |
mkdir other
mv "${{ steps.artifacts_copy.outputs.path }}/flipper-zero-googleplay.apk" other/
mv "${{ steps.artifacts_copy.outputs.path }}/flipper-zero-wearos.apk" other/
mv ${{ steps.artifacts_copy.outputs.path }}/*.aab other/
zip -qq -r other.zip other
echo "archive=other.zip" >> $GITHUB_OUTPUT
- name: Artefact build beautifier
id: beautifier
run: |
mv ${{ steps.artifacts_copy.outputs.path }}/flipper-zero-gh_gms.apk ${{ steps.artifacts_copy.outputs.path }}/flipper-zero-gms-${{ steps.vars.outputs.major_version }}.${{ steps.vars.outputs.minor_version }}.apk
mv ${{ steps.artifacts_copy.outputs.path }}/flipper-zero-gh_nogms.apk ${{ steps.artifacts_copy.outputs.path }}/flipper-zero-nogms-${{ steps.vars.outputs.major_version }}.${{ steps.vars.outputs.minor_version }}.apk
- name: Create internal Release
id: create_internal_release
uses: softprops/action-gh-release@9d7c94cfd0a1f3ed45544c887983e9fa900f0564 # v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
files: |
${{ steps.mappings.outputs.archive }}
${{ steps.other.outputs.archive }}
${{ steps.artifacts_copy.outputs.path }}/flipper-zero-gms-${{ steps.vars.outputs.major_version }}.${{ steps.vars.outputs.minor_version }}.apk
${{ steps.artifacts_copy.outputs.path }}/flipper-zero-nogms-${{ steps.vars.outputs.major_version }}.${{ steps.vars.outputs.minor_version }}.apk
tag_name: ${{ steps.vars.outputs.major_version }}.${{ steps.vars.outputs.minor_version }}
name: Flipper App ${{ steps.vars.outputs.major_version }}.${{ steps.vars.outputs.minor_version }}
draft: false
prerelease: true
upload_to_playstore:
name: Upload to Play Store
runs-on: arc-runner-set
needs: [build_internal_release]
steps:
- uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4
id: download-googleplay
with:
name: artifacts-googleplay
- name: Upload to Play Store
uses: r0adkll/upload-google-play@935ef9c68bb393a8e6116b1575626a7f5be3a7fb # v1.1.3
with:
serviceAccountJsonPlainText: ${{ secrets.GOOGLE_PLAY_PUBLISHER_JSON }}
packageName: com.flipperdevices.app
releaseFiles: ${{steps.download-googleplay.outputs.download-path}}/flipper-zero-googleplay.aab
track: beta
mappingFile: ${{steps.download-googleplay.outputs.download-path}}/mapping-googleplay.txt
upload_to_playstore_wearos:
name: Upload Wear OS to Play Store
runs-on: arc-runner-set
needs: [build_internal_release_gms_wearos]
steps:
- uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4
id: download-wearos
with:
name: artifacts-wearos
- name: Upload to Play Store Wear OS
uses: r0adkll/upload-google-play@935ef9c68bb393a8e6116b1575626a7f5be3a7fb # v1.1.3
with:
serviceAccountJsonPlainText: ${{ secrets.GOOGLE_PLAY_PUBLISHER_JSON }}
packageName: com.flipperdevices.app
releaseFiles: ${{steps.download-wearos.outputs.download-path}}/flipper-zero-wearos.aab
track: wear:production
mappingFile: ${{steps.download-wearos.outputs.download-path}}/mapping-wearos.txt