修复自动缓存会缓存 “想看” 分类的内容的问题 #133
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 }} | |
# 修改 release-template.md 然后复制过来 | |
body: | | |
Automatically created from tag ${{ steps.tag.outputs.tag }}. Do not change anything until assets are uploaded. | |
---- | |
### 下载 | |
[github-win-x64]: https://github.com/open-ani/ani/releases/download/${{steps.tag.outputs.tag}}/ani-${{steps.tag-version.outputs.substring}}-windows-x86_64.zip | |
[github-mac-x64]: https://github.com/open-ani/ani/releases/download/${{steps.tag.outputs.tag}}/ani-${{steps.tag-version.outputs.substring}}-macos-x86_64.dmg | |
[github-mac-aarch64]: https://github.com/open-ani/ani/releases/download/${{steps.tag.outputs.tag}}/ani-${{steps.tag-version.outputs.substring}}-macos-aarch64.dmg | |
[github-android]: https://github.com/open-ani/ani/releases/download/${{steps.tag.outputs.tag}}/ani-${{steps.tag-version.outputs.substring}}.apk | |
[cf-win-x64]: https://d.myani.org/${{steps.tag.outputs.tag}}/ani-${{steps.tag-version.outputs.substring}}-windows-x86_64.zip | |
[cf-mac-x64]: https://d.myani.org/${{steps.tag.outputs.tag}}/ani-${{steps.tag-version.outputs.substring}}-macos-x86_64.dmg | |
[cf-mac-aarch64]: https://d.myani.org/${{steps.tag.outputs.tag}}/ani-${{steps.tag-version.outputs.substring}}-macos-aarch64.dmg | |
[cf-android]: https://d.myani.org/${{steps.tag.outputs.tag}}/ani-${{steps.tag-version.outputs.substring}}.apk | |
[qb-enhanced]: https://github.com/c0re100/qBittorrent-Enhanced-Edition/releases/latest | |
PC 用户注意:需要本机装有 qBittorrent 或 [qBittorrent Enhanced][qb-enhanced] (建议) 方可在线播放和缓存视频。 | |
启动后请在 Ani "我的 - 右上角设置 - 播放与缓存" 中配置 qBittorrent 连接方式。 | |
| 操作系统 | 全球 | 中国大陆 | | |
|-------------------------|------------------------------|---------------------------------| | |
| Windows x86_64 | [GitHub][github-win-x64] | [Cloudflare 分流][cf-win-x64] | | |
| macOS x86_64 (Intel 芯片) | [GitHub][github-mac-x64] | [Cloudflare 分流][cf-mac-x64] | | |
| macOS aarch64 (M 系列芯片) | [GitHub][github-mac-aarch64] | [Cloudflare 分流][cf-mac-aarch64] | | |
| Android APK aarch64 | [GitHub][github-android] | [Cloudflare 分流][cf-android] | | |
扫描二维码下载 Android 版本: | |
[github-android-qr]: https://github.com/open-ani/ani/releases/download/${{steps.tag.outputs.tag}}/ani-${{steps.tag-version.outputs.substring}}.apk.github.qrcode.png | |
[cf-android-qr]: https://d.myani.org/${{steps.tag.outputs.tag}}/ani-${{steps.tag-version.outputs.substring}}.apk.cloudflare.qrcode.png | |
| 全球 | 中国大陆 | | |
|------------------------------|---------------------------------| | |
| ![GitHub][github-android-qr] | ![Cloudflare 分流][cf-android-qr] | | |
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-daemon | |
--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 }} | |
UPLOAD_TO_S3: true | |
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
AWS_BASEURL: ${{ secrets.AWS_BASEURL }} | |
AWS_REGION: ${{ secrets.AWS_REGION }} | |
AWS_BUCKET: ${{ secrets.AWS_BUCKET }} | |
- if: ${{ env.isMac == 'true' }} | |
name: Generate QR code for APK (GitHub) | |
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-github.png | |
- if: ${{ env.isMac == 'true' }} | |
name: Generate QR code for APK (Cloudflare) | |
uses: snow-actions/[email protected] | |
with: | |
text: https://d.myani.org/${{ steps.tag.outputs.tag }}/ani-${{ steps.tag-version.outputs.substring }}.apk | |
path: apk-qrcode-cloudflare.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 }} | |
UPLOAD_TO_S3: true | |
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
AWS_BASEURL: ${{ secrets.AWS_BASEURL }} | |
AWS_REGION: ${{ secrets.AWS_REGION }} | |
AWS_BUCKET: ${{ secrets.AWS_BUCKET }} | |
- name: Assemble | |
run: ./gradlew assemble ${{ env.gradleArgs }} | |
- name: Check | |
run: ./gradlew check ${{ env.gradleArgs }} | |
# createReleaseDistributable | |
# packageReleaseDistributionForCurrentOS | |
# packageReleaseUberJarForCurrentOS | |
# Upload assets for release | |
- 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 }} | |
UPLOAD_TO_S3: true | |
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
AWS_BASEURL: ${{ secrets.AWS_BASEURL }} | |
AWS_REGION: ${{ secrets.AWS_REGION }} | |
AWS_BUCKET: ${{ secrets.AWS_BUCKET }} | |
# 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 |