README accuracy: the listing, the component address, the dependency line - #8
Merged
Conversation
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
force-pushed
the
readme-accuracy
branch
from
August 6, 2026 06:25
f1333fb to
9c32434
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rebased onto
mainand revised. Documentation only.What was wrong
/marketplace/actions/ptc-translate,/ptc-actionand/private-translation-cloudall return 404, and a Marketplace search returns nothingptc-cliv1.0.2"mktempfailed on busybox before it, i.e. on the very alpine image the GitLab recipe asks forWhat this does
sha256sumfor anyone who wants the integrity guarantee vendoring gives the GitHub side for free.templates/translate/template.ymlstays. 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.uses:resolves against the repository, so nothing is lost by saying so.[skip ci],[ci skip],[no ci],[skip actions],[actions skip]. Loop safety comes from thepaths:trigger and fromptc/translationsnot being a trigger branch.config-file:api-tokenis the only input you must pass, and a root.ptc-config.ymlis picked up on its own.jq, which the CLI never invokes, and did not nameunzip, which unpacks every download.alpine:3.22providesunzipas a busybox applet, so the job ran either way — naming it keeps it working if the image is ever swapped.gitstays 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 aboutinclude: component:in general stays allowed — the check targets the copy-pasteable address.Run before pushing:
action.ymland the template parse;api-tokenstays the only required inputAlso drops internal tracker identifiers from comments.