Skip to content

Follow-up template alignment review findings #209

Description

@ptr727

Fresh re-review of the current template-alignment PRs found a few follow-up issues. The previous findings appear addressed, but these remain after pulling the latest heads and running the current checks.

Findings

  1. NxWitness Docker registry cache tags collide across matrix rows

    In ptr727/NxWitness PR Promote the config-repo convergence hub fixes to main (#447) #448, .github/workflows/build-docker-task.yml exports cache by matrix.images.Product:

    cache-from: |
      type=registry,ref=docker.io/ptr727/${{ matrix.images.Product }}:buildcache-develop
      type=registry,ref=docker.io/ptr727/${{ matrix.images.Product }}:buildcache-main
    cache-to: |
      ${{ inputs.push && format('type=registry,ref=docker.io/ptr727/{0}:buildcache-{1},mode=min,ignore-error=true', matrix.images.Product, inputs.branch != '' && inputs.branch || github.ref_name) || '' }}

    The matrix uses the same Product for multiple distinct image repos. Examples:

    • NxGo and NxGo-LSIO both use Product: nxgo, but publish to ptr727/nxgo and ptr727/nxgo-lsio.
    • NxMeta and NxMeta-LSIO both use Product: nxmeta, with multiple version rows per branch.
    • A quick count shows several products have 2-4 rows per branch writing the same buildcache-<branch> tag.

    That means parallel matrix jobs can overwrite the same registry cache tag. The final image output should still be correct, but the cache becomes last-writer-wins and less deterministic/useful. This undercuts the conversion away from type=gha toward Docker/registry caching.

    Suggested correction: give each matrix row a cache namespace matching the actual image repository (for example derive from the first tag repo, or add an explicit CacheRepository / Repository field), so nxgo-lsio writes ptr727/nxgo-lsio:buildcache-<branch> instead of sharing ptr727/nxgo:buildcache-<branch>. If product-level cache sharing is intentional, serialize the writers or nominate exactly one writer per product so concurrent exporters do not fight over the tag.

  2. Two release artifact uploads lack the retention-days: 1 fallback

    The cleanup jobs are present, but explicit uploads still need retention-days: 1 as the backstop called out in AGENTS.md:

    Suggested correction: add retention-days: 1 to both upload steps. This keeps the intended "intra-run handoff only" behavior even if the terminal cleanup job cannot list/delete artifacts.

  3. Several current PR diffs introduce non-ASCII punctuation in agent-authored docs/workflow comments

    The template says agent-authored text should be ASCII, but the current diffs add em dashes and arrows in multiple repos. Examples from git diff origin/develop...HEAD:

    • ptr727/PlexCleaner: added workflow comments with em dashes in build-toolversions-task.yml, get-version-task.yml, publish-release.yml, and test-pull-request.yml.
    • ptr727/KiCadLibrary: added em dashes in workflow comments and error text in build-release-task.yml, get-version-task.yml, publish-release.yml, and test-pull-request.yml.
    • ptr727/homeassistant-purpleair: many added AGENTS.md and workflow lines use ->, em-dash-style clauses, or Unicode arrows (-> should be ASCII, => etc. per the template rules; current lines include actual and ).

    Suggested correction: sweep the current PR diffs for agent-added , , curly quotes, , etc., and replace them with the ASCII forms from AGENTS.md (-, straight quotes, ->, =>, <=, >=). Preserve deliberate pre-existing Unicode and narrow technical-symbol exceptions.

Checks run

  • Pulled all in-scope branches with git pull --ff-only.
  • Verified local heads match the open PR head SHAs.
  • Ran rhysd/actionlint:latest against all in-scope repos; no actionlint findings.
  • Searched all in-scope workflows for unpinned action refs; no remaining floating tags found.
  • Verified the earlier findings were addressed:
    • PlexCleaner merge-bot trigger/concurrency/maintainer-push guard.
    • Utilities and PlexCleaner publish artifact cleanup.
    • homeassistant-purpleair BYOB SHA pin.
    • stale "droppable CODESTYLE sections" wording.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions