mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-10-01 14:46:36 +08:00
build: 优化 Docker/Workflow 构建,使用 Next.js 环境变量注入版本和构建时间,并移除对 package.json 的硬编码替换
This commit is contained in:
@@ -59,6 +59,7 @@ jobs:
|
||||
fi
|
||||
|
||||
echo "VERSION=$VERSION" >> "$GITHUB_ENV"
|
||||
echo "BUILD_DATE=$(date -u +'%Y-%m-%d %H:%M:%S')" >> "$GITHUB_ENV"
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v4
|
||||
@@ -80,6 +81,7 @@ jobs:
|
||||
outputs: type=image,name=${{ env.IMAGE }},push-by-digest=true,name-canonical=true,push=true
|
||||
build-args: |
|
||||
VERSION=${{ env.VERSION }}
|
||||
BUILD_DATE=${{ env.BUILD_DATE }}
|
||||
cache-from: type=gha,scope=docker-server-${{ matrix.arch }}
|
||||
cache-to: type=gha,mode=max,ignore-error=true,timeout=20m,scope=docker-server-${{ matrix.arch }}
|
||||
|
||||
|
||||
@@ -103,30 +103,10 @@ jobs:
|
||||
working-directory: ${{ env.FRONTEND_DIR }}
|
||||
run: pnpm install --frozen-lockfile
|
||||
|
||||
- name: Stamp frontend package metadata
|
||||
working-directory: ${{ env.FRONTEND_DIR }}
|
||||
shell: bash
|
||||
env:
|
||||
VERSION: ${{ needs.create-release.outputs.version_without_v }}
|
||||
BUILD_DATE: ${{ needs.create-release.outputs.build_date }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
if [[ -f package.json ]]; then
|
||||
node - <<'NODE'
|
||||
const fs = require('fs');
|
||||
const path = './package.json';
|
||||
const pkg = JSON.parse(fs.readFileSync(path, 'utf8'));
|
||||
if (process.env.VERSION && Object.hasOwn(pkg, 'version')) {
|
||||
pkg.version = process.env.VERSION;
|
||||
}
|
||||
if (process.env.BUILD_DATE && Object.hasOwn(pkg, 'buildDate')) {
|
||||
pkg.buildDate = process.env.BUILD_DATE;
|
||||
}
|
||||
fs.writeFileSync(path, JSON.stringify(pkg, null, 2) + '\n');
|
||||
NODE
|
||||
fi
|
||||
|
||||
- name: Build frontend
|
||||
env:
|
||||
NEXT_PUBLIC_APP_VERSION: ${{ needs.create-release.outputs.version }}
|
||||
NEXT_PUBLIC_APP_BUILD_DATE: ${{ needs.create-release.outputs.build_date }}
|
||||
run: ${{ env.FRONTEND_BUILD_COMMAND }}
|
||||
working-directory: ${{ env.FRONTEND_DIR }}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user