From f3b677b286813c501bbe49e828901b2337785c79 Mon Sep 17 00:00:00 2001 From: Paul ALNET Date: Mon, 2 Sep 2024 13:45:40 +0200 Subject: [PATCH] ci: build android apk artifact on release --- .github/workflows/release.yaml | 46 ++++++++++++++++++++++++++++++++++ package.json | 1 + 2 files changed, 47 insertions(+) create mode 100644 .github/workflows/release.yaml diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 00000000..78edd77f --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,46 @@ +name: Release Workflow + +on: + release: + types: + - created + +concurrency: + group: release_workflow + cancel-in-progress: true + +jobs: + build-android: + runs-on: ubuntu-latest + environment: build + + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: 16 + - name: Get tag + id: tag + run: echo "::set-output name=tag::`git describe --tags`" + - name: Install dependencies + run: npm ci + - uses: szenius/set-timezone@v1.0 + with: + timezoneLinux: 'Europe/Paris' + timezoneMacos: 'Europe/Paris' + - name: add keys + run: | + mkdir -p android/keystores + echo "${{ secrets.KEYSTORE_PROPERTIES_64 }}" | base64 -d > android/keystores/release.keystore.properties + echo "${{ secrets.JKS_64 }}" | base64 -d > android/app/application-amicale.jks + - name: build + run: npm run apk + - name: Upload to release + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ github.event.release.upload_url }} + asset_path: android/app/build/outputs/apk/release/app-release.apk + asset_name: campus-${{steps.tag.outputs.tag}}.apk + asset_content_type: application/vnd.android.package-archive diff --git a/package.json b/package.json index fef89cf7..d845da71 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "full-check": "npm run typescript && npm run lint && npm run test", "pod": "cd ios && pod install && cd ..", "bundle": "cd android && ./gradlew bundleRelease", + "apk": "cd android && ./gradlew assembleRelease", "clean": "react-native-clean-project", "postversion": "react-native-version", "test-locales": "node ./scripts/test-locales.js"