Every Linux step now runs under ci/guard-step.py. The first step that fails, is cancelled or times out marks the pipeline; running steps get SIGTERM (so traps release flock and Buildah state) then SIGKILL, steps that have not started exit at once, and any process a step leaves behind is killed. A pipeline deadline is the last resort. build-linux-agent.sh now prints the lookup error, store configuration and the restore images present when the prepared restore image cannot be found.
32 lines
943 B
YAML
32 lines
943 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:
|
|
- python3 ci/guard-step.py openwrt-updater-tests 600 bash ci/test-ci-scripts.sh
|
|
- 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
|
|
- python3 ci/guard-step.py backend-tests 900 bash ci/verify-backend.sh fast
|