name: Release update on: workflow_dispatch: inputs: artifactName: description: Artifact name type: string required: true tagName: description: Tag name type: string required: true prerelease: description: Prerelease type: boolean required: true releaseName: description: Release name type: string required: true jobs: build-release-apk: runs-on: ubuntu-latest steps: - name: Check out repository uses: actions/checkout@v3 with: submodules: true - name: Set up Java 11 uses: actions/setup-java@v3 with: distribution: 'zulu' java-version: 11 - uses: gradle/gradle-build-action@v2 - name: Grant execution permission to Gradle Wrapper run: chmod +x gradlew - name: Build release APK run: ./gradlew assembleLawnWithQuickstepRelease - name: Sign release APK uses: r0adkll/sign-android-release@v1 id: sign-release-apk with: releaseDirectory: build/outputs/apk/lawnWithQuickstep/release signingKeyBase64: ${{ secrets.KEYSTORE }} alias: ${{ secrets.KEY_ALIAS }} keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }} keyPassword: ${{ secrets.KEY_PASSWORD }} - name: Rename artifact continue-on-error: true run: mv "${{ steps.sign-release-apk.outputs.signedReleaseFile }}" "${{ github.event.inputs.artifactName }}" - name: Upload artifact uses: actions/upload-artifact@v3 with: name: Release APK path: ${{ github.event.inputs.artifactName }} publish-github-release: runs-on: ubuntu-latest needs: build-release-apk permissions: contents: write steps: - name: Check out repository uses: actions/checkout@v3 - name: Download artifact uses: actions/download-artifact@v3 with: name: Release APK path: artifacts/release-apk - name: Publish GitHub release uses: softprops/action-gh-release@v1 with: tag_name: ${{ github.event.inputs.tagName }} prerelease: ${{ github.events.inputs.prerelease }} draft: true body_path: ${{ github.workspace }}/GITHUB_CHANGELOG.md files: artifacts/release-apk/${{ github.event.inputs.artifactName }} name: ${{ github.event.inputs.releaseName }} publish-telegram-update-post: runs-on: ubuntu-latest needs: build-release-apk steps: - name: Check out repository uses: actions/checkout@v3 - name: Download artifact uses: actions/download-artifact@v3 with: name: Release APK path: artifacts/release-apk - name: Set up Python uses: actions/setup-python@v3 with: python-version: 3.x - name: Install Python packages run: | python -m pip install --upgrade pip pip install gitpython requests - name: Publish Telegram update post run: python ci.py env: TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_CI_BOT_TOKEN }} ARTIFACT_DIRECTORY: artifacts/release-apk TELEGRAM_NEWS_CHANNEL_ID: ${{ secrets.TELEGRAM_NEWS_CHANNEL_ID }} ACTION: update_announcement