Skip to content

README accuracy: the listing, the component address, the dependency line - #8

Merged
pavel-te merged 2 commits into
mainfrom
readme-accuracy
Aug 6, 2026
Merged

README accuracy: the listing, the component address, the dependency line#8
pavel-te merged 2 commits into
mainfrom
readme-accuracy

Conversation

@pavel-te

@pavel-te pavel-te commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

Rebased onto main and revised. Documentation only.

What was wrong

Claim Reality
"a composite Marketplace action" no listing exists — /marketplace/actions/ptc-translate, /ptc-action and /private-translation-cloud all return 404, and a Marketplace search returns nothing
a GitLab CI/CD Catalog component, with its address in a copy-paste block a component address is resolved by the reader's own GitLab instance, so one published elsewhere can never be included from theirs; the include fails before any of our code runs
"Both pin ptc-cli v1.0.2" this action vendors v1.0.3, and that release is required rather than merely newer — mktemp failed on busybox before it, i.e. on the very alpine image the GitLab recipe asks for

What this does

  • GitLab section now carries the self-contained job the CLI prints, with the push-token fallback, the skip marker and a sha256sum for anyone who wants the integrity guarantee vendoring gives the GitHub side for free.
  • templates/translate/template.yml stays. It is the component source for anyone mirroring this repository into their own instance, where the address is finally theirs and resolves. Its header used to hand out our address; it now explains what the file is for and shows a placeholder. A collapsed block in the README says the same, so a reader learns the file exists without being handed a recipe that cannot work.
  • Marketplace claim dropped. uses: resolves against the repository, so nothing is lost by saying so.
  • The skip marker is described as what it is: a human-readable label, not a CI skip token. GitHub honours only [skip ci], [ci skip], [no ci], [skip actions], [actions skip]. Loop safety comes from the paths: trigger and from ptc/translations not being a trigger branch.
  • Quick start drops config-file: api-token is the only input you must pass, and a root .ptc-config.yml is picked up on its own.
  • Dependency line: it installed jq, which the CLI never invokes, and did not name unzip, which unpacks every download. alpine:3.22 provides unzip as a busybox applet, so the job ran either way — naming it keeps it working if the image is ever swapped. git stays for the push step.

Self-test

The step that parsed templates/ still parses it, joined by a check that no file carries a component address pointing back at this repository. Prose about include: component: in general stays allowed — the check targets the copy-pasteable address.

Run before pushing:

  • action.yml and the template parse; api-token stays the only required input
  • the input-handling check still passes
  • the new address check passes here and fails on the previous revision — it catches the README block and the template header, which is the point of adding it
  • the sha256 printed in the README matches both the vendored script and the released file the recipe fetches
  • every link in the README resolves

Also drops internal tracker identifiers from comments.

pashagray and others added 2 commits August 6, 2026 09:19
Three claims on the front page were false as of v1.1.1.

"Both pin ptc-cli v1.0.2" — we vendor 1.0.3 since #6. The number was never
going to stay right by hand; it now points at the tree the action actually
ships, and the self-test already asserts the vendored VERSION.

"GitLab: a CI/CD Catalog component" with an include: component: recipe. That
address can never resolve for anyone: GitLab resolves it against the reader's
own instance, so a component we publish on one server is unreachable from
gitlab.com and from every self-hosted install. `ptc init` moved to printing an
inline job for that reason — but the README kept advertising the component,
and templates/translate/template.yml kept sitting in a GitHub repo where no
GitLab could read it. Both are gone. The GitLab section now carries the same
job ptc init prints, including the PTC_GIT_PUSH_TOKEN fallback and the
[skip ci] guard, plus the sha256 for anyone who wants the integrity check
vendoring gives the GitHub side for free.

"[skip translations] marker ... as a second guard" — GitHub honours only
[skip ci], [ci skip], [no ci], [skip actions] and [actions skip]. The marker
is a label, not a guard; loop safety comes from the paths: trigger and the
fact that ptc/translations is not a trigger branch. Said so, rather than
letting a reader design around a token that does nothing.

Also drops config-file from the quick start: api-token is the only input you
must pass, and a root .ptc-config.yml is picked up on its own.

The self-test step that parsed templates/ now asserts the directory stays
gone, so a component cannot come back by accident.
ci18-7408. Two corrections to this branch.

The first revision deleted templates/translate/template.yml and added a
check asserting it never comes back. That overshoots the ci18-7363
decision: the template stays as a source for anyone mirroring this
repository into their OWN GitLab, where the address is finally theirs and
resolves. What must not happen is us handing out an address. The check now
guards that instead — the template parses, and no file may carry a
component: line pointing at OnTheGoSystems/ptc-action. The template header
carried exactly such an address; it now explains what the file is for and
shows <your-group> in the example. The README says the same thing in a
collapsed block, so a reader learns the file exists without being handed a
recipe that cannot work.

Second, README line 5 still advertised "a composite Marketplace action".
No listing exists: /marketplace/actions/ptc-translate, /ptc-action and
/private-translation-cloud all 404, and a Marketplace search for the action
returns nothing. `uses:` resolves against the repository, so nothing is lost
by saying so plainly.

Verified by running the workflow's own checks locally: action.yml and the
template parse, api-token stays the only required input, the ci18-7396
interpolation guard still passes, and the new address guard passes here
while failing on origin/main (README.md:57 and the template header). The
sha256 published in the README matches both the vendored ptc-cli.sh and the
released v1.0.3 file it tells the reader to fetch.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@pavel-te pavel-te changed the title README: the GitLab component was never real, and we vendor 1.0.3 [ci18-7408] README: no Marketplace listing, and no component address anywhere Aug 6, 2026
@pavel-te
pavel-te merged commit 799bdcd into main Aug 6, 2026
1 check passed
@pavel-te
pavel-te deleted the readme-accuracy branch August 6, 2026 06:26
@pavel-te pavel-te changed the title [ci18-7408] README: no Marketplace listing, and no component address anywhere README accuracy: the listing, the component address, the dependency line Aug 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants