name: BuildReleaseApk on: pull_request: branches: - master push: branches: - master jobs: buildReleaseApk: runs-on: macos-latest steps: - name: Checkout project uses: actions/checkout@v3 with: fetch-depth: "0" - name: Specify node version uses: actions/setup-node@v2-beta with: node-version: 16 - name: Use npm caches uses: actions/cache@v2 with: path: ~/.npm key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-npm- - name: Use specific Java version for sdkmanager to work uses: actions/setup-java@v3 with: distribution: 'temurin' java-version: '11' cache: 'gradle' - name: Install node_modules run: npm install --production - name: Extract Version Name id: version_name run: | VERSION_NAME=$(grep versionName android/app/build.gradle | awk '{print $2}' | tr -d '"') echo "VERSION_NAME=$VERSION_NAME" >> $GITHUB_ENV echo "::set-output name=version_name::$VERSION_NAME" - name: Generate Build Number based on timestamp run: | NEW_BUILD_NUMBER=$(date +%s) echo "NEW_BUILD_NUMBER=$NEW_BUILD_NUMBER" >> $GITHUB_ENV echo "::set-output name=build_number::$NEW_BUILD_NUMBER" - name: Build env: KEYSTORE_FILE_HEX: ${{ secrets.KEYSTORE_FILE_HEX }} KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }} BUILD_NUMBER: ${{ env.NEW_BUILD_NUMBER }} run: ./scripts/build-release-apk.sh - uses: actions/upload-artifact@v2 if: success() with: name: BlueWallet-${{ env.VERSION_NAME }}(${{ env.NEW_BUILD_NUMBER }}).apk path: ./android/app/build/outputs/apk/release/BlueWallet-${{ env.VERSION_NAME }}(${{ env.NEW_BUILD_NUMBER }}).apk