Conversation
|
maybe out of scope: |
Minimal setup following the OpenVox "Module CI with GitHub Actions" guide (OpenVoxProject/openvox-docs#465): metadata.json, Gemfile, Rakefile, and a workflow calling voxpupuli/gha-puppet basic.yml. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Converting this to a draft for now. voxpupuli/jig#92 makes |
b3f9356 to
4dbbec4
Compare
| 1. A `Gemfile` with a `test` group containing `voxpupuli-test` and `puppet_metadata`, and an `openvox` gem line that reads its version from the environment. | ||
| The workflow sets `OPENVOX_GEM_VERSION` to pick the release under test, so this is what lets it build a version matrix. | ||
|
|
||
| ```ruby |
There was a problem hiding this comment.
I'm a bit torn here. This is already documented in the README.md for gha-puppet: https://github.com/voxpupuli/gha-puppet . Duplicating the information will always lead to issues, but it would be nice to have it on the website but also in gha-puppet. could we maybe embed the README.md in our docs website? or move the setup instructions into a new file? or move it out of gha-puppet and point to the docs website?
I don't know which approach is the best.
There was a problem hiding this comment.
The README is actually behind the workflow here: it still shows the puppet gem with PUPPET_GEM_VERSION, puppetlabs_spec_helper, voxpupuli-test 7.x, and @v1, while v4 sets OPENVOX_GEM_VERSION and jig's template generates the versions on this page. So there isn't a current copy to embed yet.
I'd go with your third option: I can open a PR on gha-puppet that swaps the README's Gemfile/Rakefile sections for a pointer to jig new module / jig convert and this page, and leaves the workflow inputs, subdirectory, and release docs where they are. Does that work for you?
ba985f2 to
258c2c4
Compare
Add devkit/ci.md covering the voxpupuli/gha-puppet reusable workflow: the prerequisite (voxpupuli-test wired in, via the setup page or jig new module / jig convert), what the module needs first (Gemfile, Rakefile, metadata.json with an openvox or puppet requirement), the workflow file and its inputs, how the jobs map onto rake tasks, a lighter parser-validate-only alternative, and the failure modes seen when the prerequisites are missing. Add a Next Steps bullet on the Getting Started page pointing at the Developer Tooling section, which previously had no path there. Closes OpenVoxProject#464 Signed-off-by: Michael Harp <mike@mikeharp.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
jig convert now creates a missing metadata.json (from a Modulefile or an interview) and repairs an invalid one, so the page no longer tells readers to write the file by hand first. Point the convert link at the Jig page on this site instead of jig's GitHub docs. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Signed-off-by: Michael Harp <mike@mikeharp.com>
0e29ca1 to
222d654
Compare
Closes #464
What this adds
New page:
devkit/ci.md("Module CI with GitHub Actions"), in the sidebar as "GitHub Actions CI" between "Consistent Style" and "Using VoxBox in CI".gha-puppet'sbasic.ymlexpects to find in the module before it can run: aGemfile(test group withvoxpupuli-test,puppet_metadata, andopenvoxreadingOPENVOX_GEM_VERSION), aRakefile, and ametadata.jsonwith arequirementsentry.jig new moduleproduces all three;jig convert(2.4.0 or later) produces them for an existing module too, creating or repairingmetadata.jsonas needed (Fixing bad behavior on inconsistent modules voxpupuli/jig#92).ci.ymlthat calls the reusable workflow, a table of the three jobs it produces and which rake tasks each runs, and a table of thewith:inputs (taken frombasic.ymlon thev4tag rather than the README).beaker.ymlfor acceptance tests (links to the existing guide).Could not locate Gemfile,unit → skipped,metadata2ghaerrors).Getting Started page: a third Next Steps bullet pointing to the Developer Tooling section and the new CI page. The Hello OpenVox walkthrough previously had no path to the DevKit docs at all, which is how the question in #464 came up.
Verification
bundle exec jekyll buildsucceeds; the page renders underecosystem/latest/devkit/ci.html, the sidebar entry appears, and every internal link and anchor on the new page resolves to an existing page.GemfileandRakefileexamples mirror jig's current module template andpuppet-nftables, so they match what the tooling generates today.jig convertbehavior was checked with the jig 2.4.0 binary on a Modulefile-era module and on a module with no metadata at all: both runs createdmetadata.json(with anopenvoxrequirements entry) andjig.toml, then wrote the Gemfile, Rakefile, and spec helper.Assisted by Claude.