Files
lawnchair/.github/workflows/release_update.yml
Goooler 1a4c61f9ec Optimize CI a bit (#2643)
* Bump GH actions

* Use gradle-build-action
2022-05-24 09:36:40 +05:30

104 lines
3.3 KiB
YAML

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