You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2026/05/12 02:41:29 UTC
(skywalking-horizon-ui) 12/18: ci: monorepo workspace build and dependency license check
This is an automated email from the ASF dual-hosted git repository.
wu-sheng pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-horizon-ui.git
commit fca4ac45a4462874ba3fd8543d70ed6087f5e837
Author: Wu Sheng <wu...@foxmail.com>
AuthorDate: Tue May 12 10:21:05 2026 +0800
ci: monorepo workspace build and dependency license check
---
.github/workflows/ci.yaml | 72 ++++++++++++++++++++++++++++++++++++++---------
1 file changed, 58 insertions(+), 14 deletions(-)
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 7c14e47..d223e30 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -41,46 +41,90 @@ jobs:
dependency-license:
name: Dependency licenses
runs-on: ubuntu-latest
- timeout-minutes: 15
+ timeout-minutes: 20
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
+ - uses: pnpm/action-setup@v4
+ with:
+ version: 10
- uses: actions/setup-node@v4
with:
node-version: '20'
- - name: Install dependencies
- run: npm ci || npm install
- - name: Resolve and verify dependency licenses
+ cache: 'pnpm'
+ - run: pnpm install --frozen-lockfile
+ - name: Install license-eye
run: |
go install github.com/apache/skywalking-eyes/cmd/license-eye@5b7ee1731d036b5aac68f8bd3fc9e6f98ada082e
- license-eye -v debug dependency resolve || exit 1
+ - name: Verify dependency licenses
+ run: license-eye -v debug dependency resolve
+
+ type-check:
+ name: Type-check (workspaces)
+ runs-on: ubuntu-latest
+ timeout-minutes: 15
+ steps:
+ - uses: actions/checkout@v6
+ with:
+ persist-credentials: false
+ - uses: pnpm/action-setup@v4
+ with:
+ version: 10
+ - uses: actions/setup-node@v4
+ with:
+ node-version: '20'
+ cache: 'pnpm'
+ - run: pnpm install --frozen-lockfile
+ - run: pnpm -r run type-check
- build:
- name: Build & type-check
+ build-ui:
+ name: Build · @skywalking-horizon-ui/ui
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
+ - uses: pnpm/action-setup@v4
+ with:
+ version: 10
- uses: actions/setup-node@v4
with:
node-version: '20'
- - run: npm ci || npm install
- - run: npm run lint
- - run: npm run type-check
- - run: npm run build
+ cache: 'pnpm'
+ - run: pnpm install --frozen-lockfile
+ - run: pnpm --filter @skywalking-horizon-ui/ui build
+
+ build-bff:
+ name: Build · @skywalking-horizon-ui/bff
+ runs-on: ubuntu-latest
+ timeout-minutes: 15
+ steps:
+ - uses: actions/checkout@v6
+ with:
+ persist-credentials: false
+ - uses: pnpm/action-setup@v4
+ with:
+ version: 10
+ - uses: actions/setup-node@v4
+ with:
+ node-version: '20'
+ cache: 'pnpm'
+ - run: pnpm install --frozen-lockfile
+ - run: pnpm --filter @skywalking-horizon-ui/bff build
sanity-check:
if: always() && !cancelled()
name: Sanity check results
- needs: [license-header, dependency-license, build]
+ needs: [license-header, dependency-license, type-check, build-ui, build-bff]
runs-on: ubuntu-latest
- timeout-minutes: 10
+ timeout-minutes: 5
steps:
- name: Check results
run: |
[[ ${{ needs.license-header.result }} == 'success' ]] || exit 1
[[ ${{ needs.dependency-license.result }} == 'success' ]] || exit 1
- [[ ${{ needs.build.result }} == 'success' ]] || exit 1
+ [[ ${{ needs.type-check.result }} == 'success' ]] || exit 1
+ [[ ${{ needs.build-ui.result }} == 'success' ]] || exit 1
+ [[ ${{ needs.build-bff.result }} == 'success' ]] || exit 1