We have two release workflows in .github/workflows that disagree with each other.
clean_for_release.yaml creates a releases/<tag> branch by deleting tools, .github, guidelines, README.md and a few other files, then commits and tags the result. As far as I can tell it has never been run: there are no releases/* branches, and the v5.12.2 and v5.12.3 tags both point at the full repository.
buildRelease.yml is the workflow that actually produces our releases. When a release is published it runs make, which needs tools/oval_xsd2html.xsl and rsrc/index.html, and attaches the schema and documentation zips. That is how v5.12.3 was built.
If someone ran the cleaning workflow, the tagged commit would have no .github directory, so the build workflow could not fire on it, and no tools directory, so make would fail anyway. The GNUmakefile, rsrc and tests directories would remain, pointing at files that are gone.
I see three ways forward:
- Delete
clean_for_release.yaml. It predates the Makefile-based build and nothing uses it.
- Keep it and make it self-consistent by also deleting
GNUmakefile, rsrc and tests, and accept that the zips have to be built some other way for those branches.
- Keep
tools on release branches so the Makefile, tests and README work there.
I would go with option 1.
Thanks,
//Dragos
We have two release workflows in
.github/workflowsthat disagree with each other.clean_for_release.yamlcreates areleases/<tag>branch by deletingtools,.github,guidelines,README.mdand a few other files, then commits and tags the result. As far as I can tell it has never been run: there are noreleases/*branches, and the v5.12.2 and v5.12.3 tags both point at the full repository.buildRelease.ymlis the workflow that actually produces our releases. When a release is published it runsmake, which needstools/oval_xsd2html.xslandrsrc/index.html, and attaches the schema and documentation zips. That is how v5.12.3 was built.If someone ran the cleaning workflow, the tagged commit would have no
.githubdirectory, so the build workflow could not fire on it, and notoolsdirectory, somakewould fail anyway. TheGNUmakefile,rsrcandtestsdirectories would remain, pointing at files that are gone.I see three ways forward:
clean_for_release.yaml. It predates the Makefile-based build and nothing uses it.GNUmakefile,rsrcandtests, and accept that the zips have to be built some other way for those branches.toolson release branches so the Makefile, tests and README work there.I would go with option 1.
Thanks,
//Dragos