labels: ci: domain-linux-native platform: linux/amd64 clone: - name: git image: plugin-git settings: lfs: false # 要拿到 tag 才算得出开发版本号(ci/version.sh:自最近 tag 的提交数) tags: true when: - event: push branch: main evaluate: 'CI_COMMIT_MESSAGE contains "[CI]"' # Agent 镜像:三个 RID 的 Agent 构建,构建完发布。后端镜像在 dev-backend-image.yml 里并行构建:Woodpecker 一个 workflow 里的步骤按依赖深度分层, # 下一层要等上一层全部结束,发布放在后端构建(最慢)后面会白等。 # 镜像构建和 verify(后端快速测试)、web-build 并行跑,不再等它们:构建好之后、推送之前由 ci/wait-for-checks.sh 等这两个 workflow 都成功 # (任何一个失败就不推;提交信息写 [SKIP TESTS] 只跳过后端测试,verify 照样是成功)。机器有 6 个 workflow 槽(WOODPECKER_MAX_WORKFLOWS),四个同时跑放得下。 concurrency: 1 steps: - name: restore-linux-dependencies image: bash environment: NUGET_PACKAGES: /home/justme/woodpecker/cache/nuget/packages commands: - python3 ci/guard-step.py restore-linux-dependencies 3600 bash ci/restore-linux-dependencies.sh dev-agent depends_on: [] - name: build-arm64-agent-musl image: bash environment: GITEA_BASE: http://127.0.0.1:3100 GITEA_TOKEN: from_secret: gitea_token RELEASE_SIGNING_KEY: from_secret: release_signing_key commands: - python3 ci/guard-step.py build-arm64-agent-musl 3600 bash ci/build-linux-agent.sh linux-musl-arm64 depends_on: - restore-linux-dependencies - name: build-amd64-agent image: bash environment: GITEA_BASE: http://127.0.0.1:3100 GITEA_TOKEN: from_secret: gitea_token RELEASE_SIGNING_KEY: from_secret: release_signing_key commands: - python3 ci/guard-step.py build-amd64-agent 3600 bash ci/build-linux-agent.sh linux-x64 depends_on: - restore-linux-dependencies - name: build-arm64-agent image: bash environment: GITEA_BASE: http://127.0.0.1:3100 GITEA_TOKEN: from_secret: gitea_token RELEASE_SIGNING_KEY: from_secret: release_signing_key commands: - python3 ci/guard-step.py build-arm64-agent 3600 bash ci/build-linux-agent.sh linux-arm64 depends_on: - restore-linux-dependencies - name: publish-agent-images image: bash environment: GITEA_BASE: http://127.0.0.1:3100 GITEA_TOKEN: from_secret: gitea_token ZOT_REGISTRY: registry.oeo.one ZOT_USERNAME: justme ZOT_SECRET: from_secret: zot_secret RELEASE_API_URL: https://mo.oeo.one RELEASE_SIGNING_KEY: from_secret: release_signing_key commands: - python3 ci/guard-step.py publish-agent-images 900 bash ci/release-node-images.sh depends_on: - build-amd64-agent - build-arm64-agent-musl