bbf81d6ac5
A single-workflow with steps spanning amd64 and arm64 shares one PVC. The clone step binds the PV to whichever arch ran first, and the other arch's pod is then permanently Unschedulable (node affinity mismatch on the PV). Splitting into separate workflow files gives each arch its own clone, its own PVC, and its own node binding.
40 lines
1.0 KiB
YAML
40 lines
1.0 KiB
YAML
# Build flake-hub packages for x86_64-linux and push to attic.
|
|
# Separate workflow per arch — sharing one PVC across arches makes
|
|
# the second pod permanently Unschedulable (PV node affinity binds
|
|
# to the first arch's node).
|
|
|
|
when:
|
|
- event: push
|
|
branch: main
|
|
|
|
clone:
|
|
- name: clone
|
|
image: woodpeckerci/plugin-git
|
|
environment:
|
|
CI_NETRC_MACHINE: git.oleks.space
|
|
CI_NETRC_USERNAME: oleks
|
|
CI_NETRC_PASSWORD:
|
|
from_secret: gitea_clone_token
|
|
PLUGIN_TAGS: "false"
|
|
PLUGIN_DEPTH: "1"
|
|
|
|
steps:
|
|
- name: build-amd64
|
|
image: git.oleks.space/oleks/nix-ci:latest
|
|
environment:
|
|
ATTIC_TOKEN:
|
|
from_secret: attic_token
|
|
GITEA_CLONE_TOKEN:
|
|
from_secret: gitea_clone_token
|
|
backend_options:
|
|
kubernetes:
|
|
nodeSelector:
|
|
kubernetes.io/arch: amd64
|
|
labels:
|
|
commit-tag: "${CI_COMMIT_TAG}"
|
|
commit-branch: "${CI_COMMIT_BRANCH}"
|
|
pipeline-number: "${CI_PIPELINE_NUMBER}"
|
|
commands:
|
|
- sh ci/setup.sh
|
|
- python3 ci/build.py x86_64-linux
|