generator: mark s390x entries no_build (hardware unavailable; reference-only)
ci/woodpecker/cron/drift Pipeline was successful
ci/woodpecker/cron/drift Pipeline was successful
This commit is contained in:
+33
-1
@@ -19,6 +19,38 @@ HEADER = """# GENERATED by oleks/ci-scripts — do not hand-edit.
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
def is_no_build(repo: dict) -> bool:
|
||||||
|
"""s390x = no-build: s390x hardware is currently unavailable, so those
|
||||||
|
wheels are not built/published (the repo code is kept as a cross-compile
|
||||||
|
reference only). Any manifest entry may opt in/out with an explicit
|
||||||
|
`no_build:` flag; otherwise entries under `s390x/` default to no-build.
|
||||||
|
See the ci-scripts wiki Spec/* pages and memory feedback-no-s390x-builds."""
|
||||||
|
return repo.get("no_build", str(repo.get("dir", "")).startswith("s390x/"))
|
||||||
|
|
||||||
|
|
||||||
|
def render_no_build(repo: dict) -> str:
|
||||||
|
"""Render a neutralized pipeline that does NOT build. Uses `event: manual`
|
||||||
|
so tag pushes never auto-trigger a build; a manual run just prints why."""
|
||||||
|
arch = repo.get("arch", "amd64")
|
||||||
|
return f"""{HEADER}# s390x = NO-BUILD: s390x hardware is currently unavailable, so this wheel is
|
||||||
|
# not built or published — the repo is kept as a cross-compile reference only.
|
||||||
|
# Re-enable by setting `no_build: false` on this repo in manifest.yaml.
|
||||||
|
labels:
|
||||||
|
arch: {arch}
|
||||||
|
|
||||||
|
when:
|
||||||
|
- event: manual
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: build-disabled
|
||||||
|
image: alpine:3
|
||||||
|
commands:
|
||||||
|
- echo "s390x build disabled — hardware currently unavailable."
|
||||||
|
- echo "Repo kept as a cross-compile reference only; not built/published."
|
||||||
|
- echo "See oleks/ci-scripts wiki Spec/* and memory feedback-no-s390x-builds."
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
def render(repo: dict) -> str:
|
def render(repo: dict) -> str:
|
||||||
arch = repo["arch"]
|
arch = repo["arch"]
|
||||||
mem_req = repo["memory_request"]
|
mem_req = repo["memory_request"]
|
||||||
@@ -246,7 +278,7 @@ def main():
|
|||||||
]
|
]
|
||||||
for repo, render_fn in jobs:
|
for repo, render_fn in jobs:
|
||||||
target = BUILDING / repo["dir"] / ".woodpecker.yaml"
|
target = BUILDING / repo["dir"] / ".woodpecker.yaml"
|
||||||
rendered = render_fn(repo)
|
rendered = render_no_build(repo) if is_no_build(repo) else render_fn(repo)
|
||||||
if check_only:
|
if check_only:
|
||||||
current = target.read_text() if target.exists() else ""
|
current = target.read_text() if target.exists() else ""
|
||||||
if current != rendered:
|
if current != rendered:
|
||||||
|
|||||||
@@ -22,9 +22,18 @@
|
|||||||
# cores - Nix `cores` setting written into /etc/nix/nix.conf
|
# cores - Nix `cores` setting written into /etc/nix/nix.conf
|
||||||
# max_jobs - whether to also cap `max-jobs = 1` (small/serial builds)
|
# max_jobs - whether to also cap `max-jobs = 1` (small/serial builds)
|
||||||
# attic - whether to run the inline `attic watch-store` accelerator
|
# attic - whether to run the inline `attic watch-store` accelerator
|
||||||
|
# no_build - if true, render a NEUTRALIZED pipeline (event: manual, no
|
||||||
|
# build/publish). s390x = no-build: s390x hardware is
|
||||||
|
# currently UNAVAILABLE, so those wheels are not built —
|
||||||
|
# the repo code is kept as a cross-compile reference only.
|
||||||
|
# Entries under s390x/ default to no_build even without the
|
||||||
|
# flag (generate.py is_no_build). Re-enable by setting
|
||||||
|
# no_build: false. arm64 builds are unaffected (arm64 hw is
|
||||||
|
# available). See wiki Spec/* + memory feedback-no-s390x-builds.
|
||||||
|
|
||||||
repos:
|
repos:
|
||||||
- dir: s390x/lxml-s390x
|
- dir: s390x/lxml-s390x
|
||||||
|
no_build: true
|
||||||
arch: amd64
|
arch: amd64
|
||||||
memory_request: 2Gi
|
memory_request: 2Gi
|
||||||
memory_limit: 6Gi
|
memory_limit: 6Gi
|
||||||
@@ -32,6 +41,7 @@ repos:
|
|||||||
max_jobs: true
|
max_jobs: true
|
||||||
attic: true
|
attic: true
|
||||||
- dir: s390x/pillow-s390x
|
- dir: s390x/pillow-s390x
|
||||||
|
no_build: true
|
||||||
arch: amd64
|
arch: amd64
|
||||||
memory_request: 6Gi
|
memory_request: 6Gi
|
||||||
memory_limit: 6Gi
|
memory_limit: 6Gi
|
||||||
@@ -39,6 +49,7 @@ repos:
|
|||||||
max_jobs: true
|
max_jobs: true
|
||||||
attic: true
|
attic: true
|
||||||
- dir: s390x/psycopg-s390x
|
- dir: s390x/psycopg-s390x
|
||||||
|
no_build: true
|
||||||
arch: amd64
|
arch: amd64
|
||||||
memory_request: 6Gi
|
memory_request: 6Gi
|
||||||
memory_limit: 6Gi
|
memory_limit: 6Gi
|
||||||
@@ -46,6 +57,7 @@ repos:
|
|||||||
max_jobs: true
|
max_jobs: true
|
||||||
attic: true
|
attic: true
|
||||||
- dir: s390x/psycopg2-binary-s390x
|
- dir: s390x/psycopg2-binary-s390x
|
||||||
|
no_build: true
|
||||||
arch: amd64
|
arch: amd64
|
||||||
memory_request: 6Gi
|
memory_request: 6Gi
|
||||||
memory_limit: 6Gi
|
memory_limit: 6Gi
|
||||||
@@ -53,6 +65,7 @@ repos:
|
|||||||
max_jobs: true
|
max_jobs: true
|
||||||
attic: true
|
attic: true
|
||||||
- dir: s390x/tiktoken-s390x
|
- dir: s390x/tiktoken-s390x
|
||||||
|
no_build: true
|
||||||
arch: amd64
|
arch: amd64
|
||||||
memory_request: 6Gi
|
memory_request: 6Gi
|
||||||
memory_limit: 6Gi
|
memory_limit: 6Gi
|
||||||
@@ -61,6 +74,7 @@ repos:
|
|||||||
attic: true
|
attic: true
|
||||||
redis_cache: true
|
redis_cache: true
|
||||||
- dir: s390x/duckdb-s390x
|
- dir: s390x/duckdb-s390x
|
||||||
|
no_build: true
|
||||||
arch: amd64
|
arch: amd64
|
||||||
memory_request: 8Gi
|
memory_request: 8Gi
|
||||||
memory_limit: 32Gi
|
memory_limit: 32Gi
|
||||||
@@ -68,6 +82,7 @@ repos:
|
|||||||
max_jobs: true
|
max_jobs: true
|
||||||
attic: true
|
attic: true
|
||||||
- dir: s390x/faiss-cpu-s390x
|
- dir: s390x/faiss-cpu-s390x
|
||||||
|
no_build: true
|
||||||
arch: amd64
|
arch: amd64
|
||||||
memory_request: 8Gi
|
memory_request: 8Gi
|
||||||
memory_limit: 32Gi
|
memory_limit: 32Gi
|
||||||
@@ -75,6 +90,7 @@ repos:
|
|||||||
max_jobs: true
|
max_jobs: true
|
||||||
attic: true
|
attic: true
|
||||||
- dir: s390x/numpy-s390x
|
- dir: s390x/numpy-s390x
|
||||||
|
no_build: true
|
||||||
arch: amd64
|
arch: amd64
|
||||||
memory_request: 8Gi
|
memory_request: 8Gi
|
||||||
memory_limit: 32Gi
|
memory_limit: 32Gi
|
||||||
@@ -82,6 +98,7 @@ repos:
|
|||||||
max_jobs: true
|
max_jobs: true
|
||||||
attic: true
|
attic: true
|
||||||
- dir: s390x/pymupdf-s390x
|
- dir: s390x/pymupdf-s390x
|
||||||
|
no_build: true
|
||||||
arch: amd64
|
arch: amd64
|
||||||
memory_request: 8Gi
|
memory_request: 8Gi
|
||||||
memory_limit: 50Gi
|
memory_limit: 50Gi
|
||||||
@@ -89,6 +106,7 @@ repos:
|
|||||||
max_jobs: false
|
max_jobs: false
|
||||||
attic: true
|
attic: true
|
||||||
- dir: s390x/markupsafe-s390x
|
- dir: s390x/markupsafe-s390x
|
||||||
|
no_build: true
|
||||||
arch: amd64
|
arch: amd64
|
||||||
memory_request: 2Gi
|
memory_request: 2Gi
|
||||||
memory_limit: 6Gi
|
memory_limit: 6Gi
|
||||||
@@ -126,6 +144,7 @@ repos:
|
|||||||
# bespoke hand-maintained file; flagged alongside fastuuid.
|
# bespoke hand-maintained file; flagged alongside fastuuid.
|
||||||
thin_repos:
|
thin_repos:
|
||||||
- dir: s390x/asyncpg-s390x
|
- dir: s390x/asyncpg-s390x
|
||||||
|
no_build: true
|
||||||
arch: amd64
|
arch: amd64
|
||||||
memory_request: 8Gi
|
memory_request: 8Gi
|
||||||
memory_limit: 32Gi
|
memory_limit: 32Gi
|
||||||
@@ -136,6 +155,7 @@ thin_repos:
|
|||||||
dead_secrets: []
|
dead_secrets: []
|
||||||
gitea_clone_token: false
|
gitea_clone_token: false
|
||||||
- dir: s390x/cryptography-s390x
|
- dir: s390x/cryptography-s390x
|
||||||
|
no_build: true
|
||||||
arch: amd64
|
arch: amd64
|
||||||
memory_request: 8Gi
|
memory_request: 8Gi
|
||||||
memory_limit: 32Gi
|
memory_limit: 32Gi
|
||||||
@@ -147,6 +167,7 @@ thin_repos:
|
|||||||
tags_full: false
|
tags_full: false
|
||||||
dead_secrets: [attic_token, redis_password]
|
dead_secrets: [attic_token, redis_password]
|
||||||
- dir: s390x/lightningcss-s390x
|
- dir: s390x/lightningcss-s390x
|
||||||
|
no_build: true
|
||||||
arch: amd64
|
arch: amd64
|
||||||
memory_request: 8Gi
|
memory_request: 8Gi
|
||||||
memory_limit: 32Gi
|
memory_limit: 32Gi
|
||||||
@@ -156,6 +177,7 @@ thin_repos:
|
|||||||
tags_full: true
|
tags_full: true
|
||||||
dead_secrets: [attic_token, redis_password]
|
dead_secrets: [attic_token, redis_password]
|
||||||
- dir: s390x/nextjs-swc-s390x
|
- dir: s390x/nextjs-swc-s390x
|
||||||
|
no_build: true
|
||||||
arch: amd64
|
arch: amd64
|
||||||
memory_request: 8Gi
|
memory_request: 8Gi
|
||||||
memory_limit: 50Gi
|
memory_limit: 50Gi
|
||||||
@@ -165,6 +187,7 @@ thin_repos:
|
|||||||
tags_full: true
|
tags_full: true
|
||||||
dead_secrets: [attic_token, redis_password]
|
dead_secrets: [attic_token, redis_password]
|
||||||
- dir: s390x/rollup-s390x
|
- dir: s390x/rollup-s390x
|
||||||
|
no_build: true
|
||||||
arch: amd64
|
arch: amd64
|
||||||
memory_request: 8Gi
|
memory_request: 8Gi
|
||||||
memory_limit: 32Gi
|
memory_limit: 32Gi
|
||||||
|
|||||||
Reference in New Issue
Block a user