diff --git a/.github/workflows/release-new.yml b/.github/workflows/release-new.yml new file mode 100644 index 00000000..30a4e03f --- /dev/null +++ b/.github/workflows/release-new.yml @@ -0,0 +1,119 @@ +name: Release Build +on: + push: + tags: + - 'v*' + +jobs: + Build: + name: Build/Sign APK + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Setup build tool version variable + shell: bash + run: | + BUILD_TOOL_VERSION=$(ls /usr/local/lib/android/sdk/build-tools/ | tail -n 1) + echo "BUILD_TOOL_VERSION=$BUILD_TOOL_VERSION" >> $GITHUB_ENV + echo Last build tool version is: $BUILD_TOOL_VERSION + + - name: set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + cache: gradle + + - name: Get Tag + id: var + run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT + + - name: Build APK + id: build + run: bash ./gradlew assembleRelease + + - name: Sign APK + id: sign_apk + uses: r0adkll/sign-android-release@v1 + with: + releaseDirectory: app/build/outputs/apk/release + signingKeyBase64: ${{ secrets.BASE64KEY }} + alias: ${{ secrets.ALIAS }} + keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} + keyPassword: ${{ secrets.KEY_PASSWORD }} + env: + BUILD_TOOLS_VERSION: ${{ env.BUILD_TOOL_VERSION }} + + - name: Make artifact + uses: actions/upload-artifact@v2 + with: + name: Signed APP APK + path: ${{steps.sign_apk.outputs.signedReleaseFile}} + + - name: Build AAB + run: bash ./gradlew bundleRelease + + - name: Sign AAB + id: sign_aab + uses: r0adkll/sign-android-release@v1 + with: + releaseDirectory: app/build/outputs/bundle/release + signingKeyBase64: ${{ secrets.BASE64KEY }} + alias: ${{ secrets.ALIAS }} + keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} + keyPassword: ${{ secrets.KEY_PASSWORD }} + env: + BUILD_TOOLS_VERSION: ${{ env.BUILD_TOOL_VERSION }} + + - name: Make artifact + uses: actions/upload-artifact@v2 + with: + name: Signed APP Bundle + path: ${{steps.sign_aab.outputs.signedReleaseFile}} + + + - name: Build Changelog + id: changelog + uses: ardalanamini/auto-changelog@v4 + with: + mention-authors: false + semver: false + + - name: Commit CHANGELOG.md + uses: stefanzweifel/git-auto-commit-action@v5 + with: + branch: main + commit_message: 'docs: update CHANGELOG.md for ${{ github.ref_name }} [skip ci]' + file_pattern: CHANGELOG.md + + - name: Create Release + id: create_release + uses: actions/create-release@v1 + with: + tag_name: ${{ github.ref }} + release_name: GreenStash ${{ github.ref }} + draft: true + body: ${{ steps.changelog.outputs.changelog }} + env: + GITHUB_TOKEN: ${{ github.token }} + + - name: Upload APK + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ github.token }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ${{steps.sign_apk.outputs.signedReleaseFile}} + asset_name: GreenStash-${{ steps.var.outputs.tag }}.apk + asset_content_type: application/zip + + - name: Upload AAB + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ github.token }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ${{steps.sign_aab.outputs.signedReleaseFile}} + asset_name: GreenStash-${{ steps.var.outputs.tag }}.aab + asset_content_type: application/zip diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 692b8302..1574cf54 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,8 +1,8 @@ name: Release Build -on: - push: - tags: - - 'v*' +# on: +# push: +# tags: +# - 'v*' jobs: Build: diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..e69de29b