chore: 优化CI缓存与YAML格式统一

构建流程中Gradle缓存新增build-cache目录,并在assembleRelease时启用--build-cache参数,提升构建效率。统一GitHub Actions YAML文件中分支、标签、条件判断等格式,增强可读性与一致性。
This commit is contained in:
谦君
2025-12-25 18:38:54 +08:00
parent b9b2b0966c
commit 1686622013
3 changed files with 14 additions and 13 deletions

View File

@@ -72,13 +72,14 @@ jobs:
- name: Setup Android SDK
uses: android-actions/setup-android@v3
# 缓存 Gradle 依赖 (可节省 3-5 分钟)
# 缓存 Gradle 依赖和构建缓存
- name: Cache Gradle
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
~/.gradle/build-cache
key: gradle-${{ runner.os }}-${{ hashFiles('android/**/*.gradle*', 'android/**/gradle-wrapper.properties') }}
restore-keys: |
gradle-${{ runner.os }}-
@@ -118,7 +119,7 @@ jobs:
working-directory: android
run: |
chmod +x ./gradlew
./gradlew assembleRelease --no-daemon
./gradlew assembleRelease --build-cache
- name: Upload APK Artifacts
uses: actions/upload-artifact@v4
@@ -180,7 +181,7 @@ jobs:
# 4. 发布 Release
release:
needs: [ build-server, build-android, build-electron ]
needs: [build-server, build-android, build-electron]
runs-on: ubuntu-latest
permissions:
contents: write
@@ -201,18 +202,18 @@ jobs:
- name: Flatten and Rename Assets
run: |
mkdir -p ./final-release
# 移动 Server 文件并确保名字唯一
cp ./raw-assets/server-windows-amd64/OGame-Vue-Ts-server-win.exe ./final-release/OGame-Vue-Ts-server-win.exe || cp ./raw-assets/server-windows-amd64/server-windows-amd64.exe ./final-release/OGame-Vue-Ts-server-win.exe || true
cp ./raw-assets/server-linux-amd64/OGame-Vue-Ts-server-linux ./final-release/OGame-Vue-Ts-server-linux || true
cp ./raw-assets/server-linux-arm64/OGame-Vue-Ts-server-linux-arm64 ./final-release/OGame-Vue-Ts-server-linux-arm64 || true
# 移动 Electron 安装包 (排除 unpacked 目录)
find ./raw-assets/electron-* -type f \( -name "*.exe" -o -name "*.dmg" -o -name "*.AppImage" -o -name "*.zip" \) -exec cp {} ./final-release/ \;
# 移动 Android APK
find ./raw-assets/android-apk -type f -name "*.APK" -exec cp {} ./final-release/ \; || true
# 检查结果
echo "Final assets to upload:"
ls -R ./final-release
@@ -239,4 +240,4 @@ jobs:
files: ./final-release/*
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -2,7 +2,7 @@ name: 构建 Github Pages
on:
push:
branches: [ main ] # 如果你的主分支叫 master请改为 master
branches: [main] # 如果你的主分支叫 master请改为 master
permissions:
contents: read
@@ -44,4 +44,4 @@ jobs:
path: './docs'
- name: 部署到 GitHub Pages
uses: actions/deploy-pages@v4
uses: actions/deploy-pages@v4

View File

@@ -2,8 +2,8 @@ name: Docker 多架构构建并发布
on:
push:
branches: [ main ]
tags: [ 'v*.*.*' ] # 打 tag 时也触发
branches: [main]
tags: ['v*.*.*'] # 打 tag 时也触发
workflow_dispatch:
permissions:
@@ -37,7 +37,7 @@ jobs:
# 登录 Docker Hub只在用户名存在时执行
- name: 登录 Docker Hub
if: vars.DOCKERHUB_USERNAME != '' # 只检查 vars忽略 secrets
if: vars.DOCKERHUB_USERNAME != '' # 只检查 vars忽略 secrets
uses: docker/login-action@v3
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
@@ -57,4 +57,4 @@ jobs:
${{ vars.DOCKERHUB_USERNAME != '' && format('docker.io/{0}/ogame-vue-ts:{1}', vars.DOCKERHUB_USERNAME, github.sha) || '' }}
cache-from: type=gha
cache-to: type=gha,mode=max
outputs: type=image,name=target,annotation-index.org.opencontainers.image.description=OGame Vue Ts
outputs: type=image,name=target,annotation-index.org.opencontainers.image.description=OGame Vue Ts