Build musl and glibc for amd64 and arm64 through one native package path. Reuse musl outputs for OCI images and OpenWrt installers, and export binaries inside a rootless unshare session. Restore the executable dependency graph into a shared persistent NuGet cache, build managed dependencies once, and run isolated native publishes in parallel. Clean temporary outputs and expired image layers under store locks, retire inactive legacy stores after seven days, and retain two toolchain exports. Add regression coverage for staging, extraction, packaging and cleanup boundaries.
35 lines
993 B
YAML
35 lines
993 B
YAML
labels:
|
|
ci: domain-linux-native
|
|
platform: linux/amd64
|
|
|
|
clone:
|
|
- name: git
|
|
image: plugin-git
|
|
settings:
|
|
lfs: false
|
|
|
|
when:
|
|
- event: pull_request
|
|
- event: push
|
|
branch: main
|
|
|
|
# On Gitea PR events, CI_COMMIT_MESSAGE is the PR title.
|
|
steps:
|
|
- name: openwrt-updater-tests
|
|
image: bash
|
|
commands:
|
|
- sh -n packaging/openwrt/install.sh
|
|
- bash -n ci/publish-openwrt.sh
|
|
- python3 scripts/test-linux-agent-build.py
|
|
- python3 scripts/test-openwrt-updater.py
|
|
- name: backend-tests
|
|
image: bash
|
|
# [SKIP TESTS] omits Backend tests only; web-build remains a dependent workflow.
|
|
when:
|
|
- evaluate: 'not (CI_COMMIT_MESSAGE contains "[SKIP TESTS]")'
|
|
environment:
|
|
NUGET_PACKAGES: /home/justme/woodpecker/cache/nuget/packages
|
|
commands:
|
|
# 增量编译 + 快的那批测试(约 20 秒);慢的端到端测试在 e2e workflow 里和出镜像并行跑。见 ci/verify-backend.sh
|
|
- bash ci/verify-backend.sh fast
|