Repository navigation
Conversation
…ab API When GITLAB_CI=true, read and fix the title with curl and a project access token instead of the gh CLI. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XWCx6ifQFkyqUFNvkGPo4o
tomgrv
pushed a commit
to tomgrv/devcontainer-features
that referenced
this pull request
Oct 29, 2026
…ab merge requests check-pr-format now reads and fixes the title through the GitLab API (tomgrv/actions#152), so the job is no longer pending. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XWCx6ifQFkyqUFNvkGPo4o
Inside GitLab CI (or with FORGE=gitlab), find, create or update the merge request with curl and push with a project access token; FORGE=github keeps targeting GitHub repositories from a GitLab job. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XWCx6ifQFkyqUFNvkGPo4o
…ab API Inside GitLab CI, list merged, closed and open merge requests and delete the stale branches with curl instead of gh. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XWCx6ifQFkyqUFNvkGPo4o
Inside GitLab CI, list, create, update and delete the project labels with curl instead of gh. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XWCx6ifQFkyqUFNvkGPo4o
…through the GitLab API Inside GitLab CI, push with GITLAB_TOKEN and comment the released merge requests and the issues they close with curl instead of gh. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XWCx6ifQFkyqUFNvkGPo4o
The GitLab API returns at most 100 merge requests per page: read up to five pages per state, in line with the 500 limit of the gh path. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XWCx6ifQFkyqUFNvkGPo4o
…r running Inside GitLab CI, read the default branch through the API and clone with GITLAB_TOKEN (FORGE=github keeps GitHub sources). split-package gets the same forge switch for its clone. Also fixes `! mkdir -p && rsync`, which skipped rsync whenever the target directory could be created. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XWCx6ifQFkyqUFNvkGPo4o
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.
Summary
Inside GitLab CI (
GITLAB_CI=true), these actions use the GitLab REST API (curl+jq,PRIVATE-TOKEN: $GITLAB_TOKEN) instead ofgh. The GitHub path is unchanged. One commit per action:check-pr-format: read and fix the merge request title.create-pr: find, create or update the merge request and push with the access token.clean-branches: delete the branches of merged and closed merge requests (up to 500 per state).update-labels: list, create, update and delete the project labels (colors get their#).release-promote: push the release with the token and comment the released merge requests and the issues they close.degit-package,split-package: clone from$CI_SERVER_URLwith the token (degit-packagereads the default branch through the API).config-botneeds no change: setBOT_NAME/BOT_EMAIL.FORGE=github(create-pr, degit-package, split-package) targets GitHub repositories from a GitLab job.GITLAB_TOKENis a project access token (apiscope, pluswrite_repository/read_repositorywhere the action clones or pushes); the CI job token cannot edit merge requests. Each action has a README section and mocked-curlbats tests.prefix-orphan-branchesis covered by tomgrv/scripts#107 (git-fix-orphans).Bug fixed on the way
degit-package/run.shhadif ! mkdir -p "$T" && rsync ...: oncemkdirsucceeds,! mkdiris false andrsyncnever runs, so the import copied nothing. It is nowif ! { mkdir -p ... && rsync ...; }. This also affects the GitHub path.Used by tomgrv/devcontainer-features#245.
Tests
release-promotetests needzz-logonPATH, and twoconfig-bottests need network; both fail identically on the unchanged branch.Not verified
curlonly.split-package's GitLab clone has no test (it needs thesplitsh-litebinary), andrelease-promoterelies onsetup-gitversion/setup-gitflowrunning underzz-use -x, which was not exercised end to end.🤖 Generated with Claude Code
https://claude.ai/code/session_01XWCx6ifQFkyqUFNvkGPo4o