ワンクリックで
eb-stack-easybuild-dos-donts
Do/don't list for EasyBuild easyconfigs and contributions. Distilled from rejected PR
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Do/don't list for EasyBuild easyconfigs and contributions. Distilled from rejected PR
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | eb-stack-easybuild-dos-donts |
| description | Do/don't list for EasyBuild easyconfigs and contributions. Distilled from rejected PR |
Mechanical enforcement lives in eb-stack recipe check / recipe lint.
Hard errors are the two #26435 classes (EB_MAINT_CROSS_GEN,
EB_MAINT_SHELL_MONSTER, EB_MAINT_PATCHELF_RPATH); warnings are the
#26480 review classes (EB_MAINT_THIN_BUILD, EB_MAINT_TESTS_OFF,
EB_MAINT_DEP_TOOLCHAIN_PIN). This skill is the human and agent contract
around those gates plus contribution practice.
GCCcore-X.Y.Z that belongs to the target generation are fine.
High-level deps (foss / gfbf / gompi / ...) must share that generation.('quill', '11.1.0'), not a hard-coded GCCcore 4-tuple on foss (#26480).cargo cinstall in preconfigopts.github_account + GITHUB_SOURCE, templates, full
sanity checks, moduleclass last.with_tests=true /
BUILD_TESTS=ON) and run them (runtest). Prefer a minor upstream
release over an EB patch that fakes green (#26480: "We typically do prefer
to run unit tests (if they exist) to validate the sanity of the
installation").versionsuffix variant, with the off-flag justified in a recipe comment
(#26480: "we typically install packages as 'fat' as possible").eb --check-contrib on every easyconfig before PR text.eb --check-github --github-user=<user> before long builds / uploads.eb --from-pr <N> --robot ... --upload-test-report for evidence.eb -D / eb -x as pre-flight before hours of robot time.eb --inject-checksums on the EasyBuild host (never invent hashes).eb --new-pr with title {moduleclass}[toolchain/version] Name vX.Y.Z.+= shell, cargo cinstall into builddir stage, or
patchelf --force-rpath. Reviewer: "Sorry, but we can never accept this.
It's incomprehensible and uncommented."check_readelf_rpath = False when cargo-c installs lack RPATH (#26480).eb --upload-test-report / eb --check-contrib.eb --upload-test-report posts the standard report.eb --show-config defaults as the prefix used by past
SUCCESS gists.eb-stack recipe lint path/to/*.eb
eb-stack recipe check --recipe path/to/App.eb --easyconfigs "$ROBOT" --easyconfigs "$OVERLAY"
eb --check-contrib path/to/*.eb
eb --check-github --github-user="$GH_USER"
eb App.eb --robot --dry-run-short
# after human opens PR:
eb --from-pr <N> --robot --upload-test-report --github-user="$GH_USER"
skills/upstream-pr/SKILL.md — full contribution sequenceskills/eessi-extend/SKILL.md — EESSI-extend testing and software-layer PRs (separate track)fixtures/maintainer_reject_26435/ — frozen reject surfaces (hard errors)fixtures/maintainer_fat_26480/ — frozen fat-build review surfaces (warnings)src/eb_maintainer.rs — codes EB_MAINT_*Test easyconfigs inside the EESSI build environment with EESSI-extend, and contribute them to the EESSI/software-layer easystacks. Separate from the EasyBuild easyconfigs contribution path. Use after an easyconfig builds on a normal target, when the goal is an EESSI software-layer PR, or when a recipe must be proven against the EESSI compatibility layer and CPU targets.
Shape eb-stack output into an easybuild-easyconfigs PR that maintainers accept. Use when drafting, reviewing, or repairing an upstream EasyBuild contribution, when a PR gets maintainer pushback, before handing recipes to the human-owned PR surface, or when producing a test report. Distilled from rejected eOn
Convert a conda-forge or Spack recipe into a canonical package manifest, CycloneDX SBOM, Resolvo profile locks, separate EasyBuild easyconfigs for product variants, and a remotely built and verified campaign. Use for new EasyBuild packages, foreign recipe imports, eOn or QMCPACK packaging, and Hermes/OMP build-repair loops.
Retarget an existing EasyBuild easyconfig to a new toolchain or application version using a canonical EasyBuild-origin manifest, CycloneDX SBOM, Resolvo dependency lock, stack-policy fallback, deterministic recipe emission, and the persisted Hermes/OMP remote build campaign. Use for annual stack rebuilds and package version bumps.