agentleFS
gerphgerph/riscos-agent-skills/skills/ci-testing/SKILL.md

ci-testing

Skill4 starsChanged 7 months agoMITView on GitHub

Create, extend, review, and repair RISC OS CI pipelines, especially GitHub Actions and GitLab CI files, optional matching `.robuild.yaml` or `.robuild.yml` files for build-service jobs, 32-bit and 64-bit builds, build-service testing, artifact packaging, and draft releases. Use when Codex needs to work on `.github/workflows/*.yml`, `.gitlab-ci.yml`, `example-ci.yml`, `.robuild.yaml`, `.robuild.yml`, `riscos-project create-ci`, build.riscos.online integration, or RISC OS packaging/testing patterns for AIF, RM, and library-export projects.

We split this skill into the rules it gives an agent

21 rules. About 0 are common, 8 are distinctive, and 13 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈8

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 13

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Use this skill to create or update CI workflows for RISC OS repositories.

    line 11
  2. Very specific:

    Keep the workflow aligned with the repository's Makefile, VersionNum, exported artifacts, and any .robuild.yaml or .robuild.yml submitted …

    line 12
  3. Very specific:

    Check whether riscos-project create-ci should be the starting point.

    line 21
  4. Very specific:

    Keep the workflow and .robuild.yaml or .robuild.yml in sync when a build-service job is still used.

    line 24
  5. Very specific:

    If the repository builds PRM-in-XML documentation, also use the writing-prminxml skill and its references/github-ci.md.

    line 25
  6. Distinctive:

    When a repository does not yet have CI files, start with:

    line 29
  7. Very specific:

    Treat that as the normal baseline generator for both .github/workflows/ci.yml and .gitlab-ci.yml, not the finished answer.

    line 35
  8. Distinctive:

    add artifact packaging and release handling.

    line 42
  9. Distinctive:

    add build-service execution tests for AIF or RM outputs when the project produces runnable binaries.

    line 43
  10. Distinctive:

    Read only the reference file you need:

    line 47
  11. Distinctive:

    Use the bundled assets as starting points:

    line 56
  12. Distinctive:

    Keep 32-bit and 64-bit build steps explicit when both are supported.

    line 73
  13. Very specific:

    Use the repository's existing VersionNum convention when present.

    line 74
  14. Very specific:

    Keep .robuild.yaml or .robuild.yml narrowly scoped to the commands needed on RISC OS.

    line 80
  15. Very specific:

    If documentation output is part of CI, do not hand-roll PRM-in-XML rendering steps.

    line 81
  16. Distinctive:

    After editing CI files:

    line 85
  17. Very specific:

    read back the workflow and .robuild.yaml or .robuild.yml for placeholder drift or mismatched artifact names.

    line 87
  18. Distinctive:

    if practical, run YAML validation or repository linting.

    line 88
  19. Very specific:

    if documentation jobs were added, confirm they follow the writing-prminxml GitHub CI pattern.

    line 91
  20. Very specific:

    Use creating-github-actions for general GitHub Actions structure and hygiene.

    line 95
  21. Very specific:

    Use writing-prminxml when the CI pipeline must build PRM-in-XML output, especially its references/github-ci.md.

    line 96

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

CI Testing

Overview

Use this skill to create or update CI workflows for RISC OS repositories. Keep the workflow aligned with the repository's Makefile, VersionNum, exported artifacts, and any .robuild.yaml or .robuild.yml submitted to build.riscos.online. Prefer the .yaml spelling, but both file names are valid.

Workflow

  1. Inspect the repository's existing build shape first.
  2. Decide whether the repository is:
    • a library export that should package exports rather than run a produced binary;
    • an AIF command/application that can be executed in CI;
    • an RM/module that can be loaded and exercised in CI.
  3. Check whether riscos-project create-ci should be the starting point.
  4. Decide whether the repository should keep the generated build-service shape or switch to direct 32-bit and 64-bit container builds.
  5. Choose the smallest template that fits, then adapt filenames, commands, and archive names.
  6. Keep the workflow and .robuild.yaml or .robuild.yml in sync when a build-service job is still used.
  7. If the repository builds PRM-in-XML documentation, also use the writing-prminxml skill and its references/github-ci.md.

Starting Point

When a repository does not yet have CI files, start with:

riscos-project create-ci

Treat that as the normal baseline generator for both .github/workflows/ci.yml and .gitlab-ci.yml, not the finished answer. After generation:

  • review the generated .github/workflows/*.yml;
  • review the generated .gitlab-ci.yml when present;
  • review the generated .robuild.yaml or .robuild.yml;
  • extend to 64-bit builds when needed;
  • add artifact packaging and release handling;
  • add build-service execution tests for AIF or RM outputs when the project produces runnable binaries.

Pattern Selection

Read only the reference file you need:

  • Generic pattern notes derived from local example CI files: references/repository-patterns.md
  • Template choices and how to adapt them: references/workflow-templates.md

Assets

Use the bundled assets as starting points:

  • assets/library-export-ci.yml For repositories that export a library and package exported files.
  • assets/library-export.robuild.yaml Matching build-service configuration for a library export.
  • assets/binary-build-test-release-ci.yml Build, test, package, and draft-release template for AIF or RM outputs.
  • assets/aif-test.robuild.yaml Matching build-service test file for absolute binaries.
  • assets/rm-test.robuild.yaml Matching build-service test file for modules.

These files are intentionally templated with {{PLACEHOLDER}} values so they can be copied and then filled in mechanically.

Core Rules

  • Keep 32-bit and 64-bit build steps explicit when both are supported.
  • Use the repository's existing VersionNum convention when present; for normal RISC OS VersionNum files prefer Module_FullVersion rather than scraping looser MajorVersion text. Fall back to the git hash only when no usable version define exists.
  • GitHub Actions run: steps default to /bin/sh in many environments. Use POSIX shell syntax such as [ -f file ] unless the workflow explicitly sets shell: bash.
  • GitLab CI script: entries commonly run under a POSIX shell as well. Do not assume Bash-only syntax there unless the job explicitly selects Bash.
  • Name uploaded artifacts and release archives consistently.
  • For library exports, package the export directory or files. Do not invent a runtime test that cannot validate library behaviour.
  • For AIF or RM outputs, prefer a separate test job that downloads the built artifact and exercises it through build.riscos.online with a focused .robuild.yaml.
  • Keep .robuild.yaml or .robuild.yml narrowly scoped to the commands needed on RISC OS. Prefer .yaml, but support .yml when that is what the repository already uses. Keep host-side packaging and release logic in the CI system.
  • If documentation output is part of CI, do not hand-roll PRM-in-XML rendering steps. Use the writing-prminxml skill and its GitHub CI guidance.

Validation

After editing CI files:

  • read back the workflow and .robuild.yaml or .robuild.yml for placeholder drift or mismatched artifact names;
  • if practical, run YAML validation or repository linting;
  • confirm every file referenced by the workflow is actually produced earlier in the pipeline;
  • confirm every file referenced in .robuild.yaml or .robuild.yml will exist inside the uploaded source archive;
  • if documentation jobs were added, confirm they follow the writing-prminxml GitHub CI pattern.

Related Skills

  • Use creating-github-actions for general GitHub Actions structure and hygiene.
  • Use writing-prminxml when the CI pipeline must build PRM-in-XML output, especially its references/github-ci.md.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.