Remove cache from list to improve response latency for #234 #115
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release | |
on: | |
push: | |
tags: [ 'v*' ] | |
jobs: | |
create-release: | |
name: Create Release | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Get Tag # usage: ${{ steps.tag.outputs.tag }} | |
id: tag | |
uses: dawidd6/action-get-tag@v1 | |
- uses: bhowell2/[email protected] | |
id: tag-version # usage: ${{ steps.tag-version.outputs.substring }} | |
with: | |
value: ${{ steps.tag.outputs.tag }} | |
index_of_str: "v" | |
default_return_value: ${{ steps.tag.outputs.tag }} | |
- name: Create Release | |
id: create_release | |
uses: softprops/action-gh-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ steps.tag.outputs.tag }} | |
name: ${{ steps.tag-version.outputs.substring }} | |
body: | | |
Automatically created from tag ${{ steps.tag.outputs.tag }}. Do not change anything until assets are uploaded. | |
---- | |
**附件:** | |
- `.zip` 是包含 JRE 的解压即用的绿色版本; | |
- `.dmg`、`.deb`、`.rpm` 和 `.msi` 分别是 macOS、Debian、RedHat 和 Windows 平台的安装程序; | |
- `.exe` 是包含 JRE 的 Windows 程序,可以直接运行。 | |
- `.jar` 是不包含 JRE 的最小程序,需要配合 JRE 11 及以上使用; | |
- `.apk` 是 Android 应用,支持的最低 Android 版本为 8.0; | |
注意,桌面平台仅支持 64 位操作系统。在使用 macOS 的安装程序时可能提示文件损坏,这是因为此版本应用没有签名,可以忽略错误继续使用。 | |
也可扫描以下二维码下载 Android 版本: | |
![](https://github.com/Him188/ani/releases/download/${{ steps.tag.outputs.tag }}/ani-${{ steps.tag-version.outputs.substring }}.apk.qrcode.png) | |
draft: true | |
prerelease: false | |
outputs: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
id: ${{ steps.create_release.outputs.id }} | |
release: | |
needs: [ create-release ] | |
name: ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- windows-2022 | |
- ubuntu-20.04 | |
- macos-12 | |
env: | |
enableLocalPublishingTest: 'false' | |
gradleArgs: >- | |
--scan | |
"-Dorg.gradle.jvmargs=-Xmx4096m" | |
"-Dfile.encoding=UTF-8" | |
--no-configuration-cache | |
"-Pbangumi.oauth.client.android.appId=${{ secrets.BANGUMI_OAUTH_CLIENT_ANDROID_ID }}" | |
"-Pbangumi.oauth.client.android.secret=${{ secrets.BANGUMI_OAUTH_CLIENT_ANDROID_SECRET }}" | |
"-Pbangumi.oauth.client.desktop.appId=${{ secrets.BANGUMI_OAUTH_CLIENT_DESKTOP_ID }}" | |
"-Pbangumi.oauth.client.desktop.secret=${{ secrets.BANGUMI_OAUTH_CLIENT_DESKTOP_SECRET }}" | |
isMac: ${{ startsWith(matrix.os, 'macos') }} | |
isWindows: ${{ startsWith(matrix.os, 'windows') }} | |
isUbuntu: ${{ startsWith(matrix.os, 'ubuntu') }} | |
isUnix: ${{ startsWith(matrix.os, 'macos') || startsWith(matrix.os, 'ubuntu') }} | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: 'recursive' | |
- name: Get Tag # usage: ${{ steps.tag.outputs.tag }} | |
id: tag | |
uses: dawidd6/action-get-tag@v1 | |
- uses: bhowell2/[email protected] | |
id: tag-version # usage: ${{ steps.tag-version.outputs.substring }} | |
with: | |
value: ${{ steps.tag.outputs.tag }} | |
index_of_str: "v" | |
default_return_value: ${{ steps.tag.outputs.tag }} | |
- if: ${{ env.isUnix == 'true' }} | |
uses: actions/setup-java@v2 | |
with: | |
distribution: temurin | |
java-version: 17 | |
- if: ${{ env.isWindows == 'true' }} | |
uses: actions/setup-java@v2 | |
with: | |
distribution: microsoft | |
java-version: 17 | |
- name: Setup Gradle | |
uses: gradle/gradle-build-action@v2 | |
- name: Cache Konan | |
uses: pat-s/always-upload-cache@v3 | |
with: | |
path: ~/.konan | |
key: ${{ runner.os }}-konan-${{ hashFiles('*.gradle.kts') }} | |
restore-keys: | | |
${{ runner.os }}-konan- | |
- name: Cache Gradle | |
uses: pat-s/always-upload-cache@v3 | |
with: | |
path: ~/.gradle | |
key: ${{ runner.os }}-gradle-${{ hashFiles('*.gradle.kts') }} | |
restore-keys: | | |
${{ runner.os }}-gradle- | |
- name: Cache Maven | |
uses: pat-s/always-upload-cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-maven-${{ hashFiles('*.gradle.kts') }} | |
restore-keys: | | |
${{ runner.os }}-maven- | |
- if: ${{ env.isUnix == 'true' }} | |
run: chmod -R 777 * | |
- name: Clean and download dependencies | |
run: ./gradlew clean ${{ env.gradleArgs }} | |
- name: Update version name | |
run: ./gradlew updateReleaseVersionNameFromGit ${{ env.gradleArgs }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
GITHUB_REPOSITORY: ${{ secrets.GITHUB_REPOSITORY }} | |
CI_RELEASE_ID: ${{ needs.create-release.outputs.id }} | |
CI_TAG: ${{ steps.tag.outputs.tag }} | |
- name: Explicitly generate Compose resources | |
run: ./gradlew generateComposeResClass ${{ env.gradleArgs }} | |
- if: ${{ env.isMac == 'true' }} | |
name: Prepare Android Signing Key | |
id: android_signing_key | |
uses: timheuer/[email protected] | |
with: | |
fileName: 'android_signing_key' | |
fileDir: './' | |
encodedString: ${{ secrets.SIGNING_RELEASE_STOREFILE }} | |
- if: ${{ env.isMac == 'true' }} | |
name: Build Android APK | |
run: ./gradlew assembleRelease ${{ env.gradleArgs }} | |
env: | |
"signing_release_storeFileFromRoot": ${{ steps.android_signing_key.outputs.filePath }} | |
"signing_release_storePassword": ${{ secrets.SIGNING_RELEASE_STOREPASSWORD }} | |
"signing_release_keyAlias": ${{ secrets.SIGNING_RELEASE_KEYALIAS }} | |
"signing_release_keyPassword": ${{ secrets.SIGNING_RELEASE_KEYPASSWORD }} | |
- if: ${{ env.isMac == 'true' }} | |
name: Upload Android APK | |
run: "./gradlew :ci-helper:uploadAndroidApk ${{ env.gradleArgs }}" | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
GITHUB_REPOSITORY: ${{ secrets.GITHUB_REPOSITORY }} | |
CI_RELEASE_ID: ${{ needs.create-release.outputs.id }} | |
CI_TAG: ${{ steps.tag.outputs.tag }} | |
- if: ${{ env.isMac == 'true' }} | |
name: Generate QR code for APK | |
uses: snow-actions/[email protected] | |
with: | |
text: https://github.com/Him188/ani/releases/download/${{ steps.tag.outputs.tag }}/ani-${{ steps.tag-version.outputs.substring }}.apk | |
path: apk-qrcode.png | |
- if: ${{ env.isMac == 'true' }} | |
name: Upload QR code | |
run: "./gradlew :ci-helper:uploadAndroidApkQR ${{ env.gradleArgs }}" | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
GITHUB_REPOSITORY: ${{ secrets.GITHUB_REPOSITORY }} | |
CI_RELEASE_ID: ${{ needs.create-release.outputs.id }} | |
CI_TAG: ${{ steps.tag.outputs.tag }} | |
- name: Assemble | |
run: ./gradlew assemble ${{ env.gradleArgs }} | |
- name: Check | |
run: ./gradlew check ${{ env.gradleArgs }} | |
# createReleaseDistributable | |
# packageReleaseDistributionForCurrentOS | |
# packageReleaseUberJarForCurrentOS | |
- name: Package | |
run: > | |
./gradlew | |
createDistributable | |
packageDistributionForCurrentOS | |
packageUberJarForCurrentOS | |
${{ env.gradleArgs }} | |
# Upload assets for release | |
- name: Upload Desktop Distribution Zip | |
run: "./gradlew :ci-helper:uploadDesktopDistributionZip ${{ env.gradleArgs }}" | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
GITHUB_REPOSITORY: ${{ secrets.GITHUB_REPOSITORY }} | |
CI_RELEASE_ID: ${{ needs.create-release.outputs.id }} | |
CI_TAG: ${{ steps.tag.outputs.tag }} | |
- name: Upload Desktop Installers | |
run: "./gradlew :ci-helper:uploadDesktopInstallers ${{ env.gradleArgs }}" | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
GITHUB_REPOSITORY: ${{ secrets.GITHUB_REPOSITORY }} | |
CI_RELEASE_ID: ${{ needs.create-release.outputs.id }} | |
CI_TAG: ${{ steps.tag.outputs.tag }} | |
# apk-qrcode: | |
# needs: [ release ] | |
# runs-on: ubuntu-22.04 | |
# steps: | |
# - id: update_release | |
# uses: tubone24/[email protected] | |
# env: | |
# GITHUB_TOKEN: ${{ github.token }} | |
# with: | |
# body: \n\n![](${{ needs.release.outputs.apk_qr_url }}) | |
# steps: | |
# - name: Checkout | |
# uses: actions/checkout@v2 | |
# | |
# - name: Set up JDK 11 | |
# uses: actions/setup-java@v1 | |
# with: | |
# java-version: 11 | |
# | |
# - name: Grant Execute Permission for gradlew | |
# run: chmod +x gradlew | |
# | |
# - run: ./gradlew mirai-api-http:checkMavenCentralPublication --info --scan | |
# env: | |
# PUBLICATION_CREDENTIALS: ${{ secrets.PUBLICATION_CREDENTIALS }} | |
# | |
# - name: Build with Gradle | |
# run: ./gradlew buildCiJar | |
# | |
# - name: Get Tag | |
# id: tag | |
# uses: dawidd6/action-get-tag@v1 | |
# | |
# - name: Generate Line Temp File | |
# run: "cat CHANGELOG.md | grep -n '## \\\\' | cut -d: -f1 | head -n 2 >> line.tmp" | |
# | |
# - name: Generate Release Log | |
# run: "cat CHANGELOG.md | head -n $((`tail -n 1 line.tmp`-1)) | tail -n +`head -n 1 line.tmp` >> release.log" | |
# | |
# - name: Create Release | |
# id: create_release | |
# uses: actions/create-release@v1 | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# with: | |
# tag_name: ${{ github.ref }} | |
# release_name: mirai-api-http-${{ steps.tag.outputs.tag }} | |
# body_path: release.log | |
# draft: false | |
# prerelease: false |