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.
33 lines
1014 B
YAML
33 lines
1014 B
YAML
labels:
|
|
ci: domain-linux-native
|
|
platform: linux/amd64
|
|
|
|
clone:
|
|
- name: git
|
|
image: plugin-git
|
|
settings:
|
|
lfs: false
|
|
|
|
# 带 [CI] 的推送会出镜像,慢测试放在 dev-image 里、等镜像构建完再跑(不和 AOT 编译抢内存);这个 workflow 管其余的:PR 和没带 [CI] 的推送
|
|
when:
|
|
- event: pull_request
|
|
- event: push
|
|
branch: main
|
|
evaluate: 'not (CI_COMMIT_MESSAGE contains "[CI]")'
|
|
|
|
# 等 verify 编译完、快的测试过了再跑(共用它的增量编译缓存,不重新编译)
|
|
depends_on:
|
|
- verify
|
|
|
|
steps:
|
|
- name: backend-e2e-tests
|
|
image: bash
|
|
# [SKIP TESTS] 和 verify 一样,跳过后端测试
|
|
when:
|
|
- evaluate: 'not (CI_COMMIT_MESSAGE contains "[SKIP TESTS]")'
|
|
environment:
|
|
NUGET_PACKAGES: /home/justme/woodpecker/cache/nuget/packages
|
|
commands:
|
|
# 标了 Category=Slow 的端到端测试,见 ci/verify-backend.sh
|
|
- python3 ci/guard-step.py backend-e2e-tests 1500 bash ci/verify-backend.sh slow
|