fix(ci): build the web apps once before the two backend architectures; release 0.3.1 [CI]
This commit is contained in:
1 parent
879d1c8593
commit
a56014e5ff
4 files changed
+20
-4
No files matched your search
@@ -15,6 +15,17 @@ when:
|
|||||||
concurrency: 1
|
concurrency: 1
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
# 前端只构建一次:两个架构的 Backend 构建并行跑在同一个工作目录里,各自 npm ci 会互相删 node_modules(ENOTEMPTY),
|
||||||
|
# 一个失败还会把另一个的构建进程一起杀掉。Backend 把 web/*/dist 内嵌进程序(展示端和管理端由面板自己提供)。
|
||||||
|
- name: web-build
|
||||||
|
image: bash
|
||||||
|
environment:
|
||||||
|
NPM_CONFIG_CACHE: /home/justme/.npm
|
||||||
|
commands:
|
||||||
|
- npm ci --prefix web --prefer-offline
|
||||||
|
- npm run build --prefix web
|
||||||
|
depends_on: []
|
||||||
|
|
||||||
- name: linux-amd64-backend
|
- name: linux-amd64-backend
|
||||||
image: bash
|
image: bash
|
||||||
environment:
|
environment:
|
||||||
@@ -25,7 +36,8 @@ steps:
|
|||||||
from_secret: zot_secret
|
from_secret: zot_secret
|
||||||
commands:
|
commands:
|
||||||
- bash ci/release-linux.sh amd64 backend
|
- bash ci/release-linux.sh amd64 backend
|
||||||
depends_on: []
|
depends_on:
|
||||||
|
- web-build
|
||||||
|
|
||||||
- name: linux-arm64-backend
|
- name: linux-arm64-backend
|
||||||
image: bash
|
image: bash
|
||||||
@@ -37,7 +49,8 @@ steps:
|
|||||||
from_secret: zot_secret
|
from_secret: zot_secret
|
||||||
commands:
|
commands:
|
||||||
- bash ci/release-linux.sh arm64 backend
|
- bash ci/release-linux.sh arm64 backend
|
||||||
depends_on: []
|
depends_on:
|
||||||
|
- web-build
|
||||||
|
|
||||||
- name: backend-multiarch-index
|
- name: backend-multiarch-index
|
||||||
image: bash
|
image: bash
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
<UseArtifactsOutput>true</UseArtifactsOutput>
|
<UseArtifactsOutput>true</UseArtifactsOutput>
|
||||||
<ArtifactsPath>$(MSBuildThisFileDirectory)artifacts</ArtifactsPath>
|
<ArtifactsPath>$(MSBuildThisFileDirectory)artifacts</ArtifactsPath>
|
||||||
<Deterministic>true</Deterministic>
|
<Deterministic>true</Deterministic>
|
||||||
<Version>0.3.0</Version>
|
<Version>0.3.1</Version>
|
||||||
<NuGetAudit>false</NuGetAudit>
|
<NuGetAudit>false</NuGetAudit>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -53,8 +53,11 @@ export MOSHIRO_COMMIT="${MOSHIRO_COMMIT:-${CI_COMMIT_SHA:0:10}}"
|
|||||||
export MOSHIRO_BUILT_AT="${MOSHIRO_BUILT_AT:-$(date -u +%Y-%m-%dT%H:%M:%SZ)}"
|
export MOSHIRO_BUILT_AT="${MOSHIRO_BUILT_AT:-$(date -u +%Y-%m-%dT%H:%M:%SZ)}"
|
||||||
|
|
||||||
# 前端先构建:Backend.Api 在 web/*/dist 存在时把它们内嵌进程序(展示端 /,管理端 /admin/),这样 passkey 能绑定在面板自己的域名上
|
# 前端先构建:Backend.Api 在 web/*/dist 存在时把它们内嵌进程序(展示端 /,管理端 /admin/),这样 passkey 能绑定在面板自己的域名上
|
||||||
|
# 发版流水线里有单独的 web-build 步骤先构建好了(并行的两个架构不能同时 npm ci);main 的 [CI] 构建只有一个 Backend 步骤,这里自己构建
|
||||||
|
if [[ ! -f "$root/web/display/dist/index.html" || ! -f "$root/web/admin/dist/index.html" ]]; then
|
||||||
if [[ -z "${NPM_CONFIG_CACHE:-}" && -d /home/justme/.npm ]]; then export NPM_CONFIG_CACHE=/home/justme/.npm; fi
|
if [[ -z "${NPM_CONFIG_CACHE:-}" && -d /home/justme/.npm ]]; then export NPM_CONFIG_CACHE=/home/justme/.npm; fi
|
||||||
(cd "$root" && npm ci --prefix web --prefer-offline && npm run build --prefix web)
|
(cd "$root" && npm ci --prefix web --prefer-offline && npm run build --prefix web)
|
||||||
|
fi
|
||||||
[[ -f "$root/web/display/dist/index.html" && -f "$root/web/admin/dist/index.html" ]] || { echo "the web build did not produce both apps" >&2; exit 1; }
|
[[ -f "$root/web/display/dist/index.html" && -f "$root/web/admin/dist/index.html" ]] || { echo "the web build did not produce both apps" >&2; exit 1; }
|
||||||
|
|
||||||
(cd "$root/backend" && dotnet publish src/MoShiro.Backend \
|
(cd "$root/backend" && dotnet publish src/MoShiro.Backend \
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "moshiro-web",
|
"name": "moshiro-web",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.3.0",
|
"version": "0.3.1",
|
||||||
"workspaces": [
|
"workspaces": [
|
||||||
"display",
|
"display",
|
||||||
"admin"
|
"admin"
|
||||||
|
|||||||
Reference in new issue
Block a user