name: Build Pre-Release on: workflow_dispatch: pull_request: branches: [main] types: [closed] jobs: BuildPreRelease: if: github.event_name == 'workflow_dispatch' || github.event.pull_request.merged == true runs-on: ubuntu-latest steps: - name: Checkout Repository uses: actions/checkout@v4 - name: Checkout submodules run: git submodule update --init --recursive --remote --force - name: Setup Java uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: 17 - name: Setup Gradle uses: gradle/actions/setup-gradle@v4 - name: Setup Go uses: actions/setup-go@v5 with: go-version: "1.23" - uses: actions/cache@v4 with: path: | ~/.cache/go-build ~/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go- - name: Signing properties env: SIGNING_STORE_PASSWORD: ${{ secrets.SIGNING_STORE_PASSWORD }} SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS }} SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }} run: | touch signing.properties echo keystore.password="$SIGNING_STORE_PASSWORD" > signing.properties echo key.alias="$SIGNING_KEY_ALIAS" >> signing.properties echo key.password="$SIGNING_KEY_PASSWORD" >> signing.properties echo "cat signing.properties" cat signing.properties - name: Pre-release Build if: success() run: ./gradlew --no-daemon app:assembleAlphaRelease # Delete old Prerelease-alpha - uses: dev-drprasad/delete-tag-and-release@v1.1 with: tag_name: Prerelease-alpha github_token: ${{ secrets.GITHUB_TOKEN }} delete_release: true - name: Tag Repo uses: richardsimko/update-tag@v1 with: tag_name: Prerelease-alpha env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Upload Alpha uses: softprops/action-gh-release@v2 if: ${{ success() }} with: tag_name: Prerelease-alpha files: app/build/outputs/apk/alpha/release/* prerelease: true generate_release_notes: true - name: Release Changelog Builder uses: mikepenz/release-changelog-builder-action@v4