Skip to content

修复删除种子时崩溃的问题, close #177 #104

修复删除种子时崩溃的问题, close #177

修复删除种子时崩溃的问题, close #177 #104

Workflow file for this run

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