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

View File

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

View File

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