Repository navigation
Authenticate CLI update workflow to GitLab - #322
Merged
Merged
Conversation
Resolve the upstream default branch HEAD, create bin/, and use make go-build to build main.go on both native runners. Scope revision caches to the destination branch and keep upstream credentials out of global Git configuration. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
darrenoh
marked this pull request as draft
November 11, 2026 16:47
Use a GitLab read-only token and username for the upstream fetch and private module access, scope credentials to GitLab Git requests, and build the client package identified in the existing binary. Keep the workflow in draft pending verification against the actual GitLab source. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
darrenoh
commented
Nov 11, 2026
Co-authored-by: darrenoh <2293701+darrenoh@users.noreply.github.com>
darrenoh
commented
Nov 11, 2026
Co-authored-by: darrenoh <2293701+darrenoh@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
The documented credentials cannot authenticate the workflow’s commits API request, causing the plan job to fail before either build starts.
1 open issue
What changed in this PR
This draft moves the manual DevPanel CLI updater from GitHub to authenticated GitLab access, preserving native AMD64/ARM64 builds and existing output paths. Docker image behavior remains unchanged; upstream source and credentialed builds remain unverified.
Changes:
- Resolve the upstream default-branch HEAD through GitLab’s commits API and scope revision caches per destination branch.
- Scope Git authentication to GitLab, clear credentials before smoke checks, and add client-path and command checks.
- Document repository settings and outstanding validation work.
| File | Description |
|---|---|
TODO.md |
Tracks GitLab migration tasks and remaining validation. |
README.md |
Documents credentials, caching, builds, and limitations. |
AGENTS.md |
Updates updater conventions and required repository settings. |
.github/workflows/update-devpanel-cli.yml |
Implements GitLab resolution, authenticated fetching, branch-scoped caching, and additional checks. |
Review effort: Balanced
Co-authored-by: darrenoh <2293701+darrenoh@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
The upstream GitLab source and credentialed hosted run remain unverified, leaving cmd/devpanel-client, private dependency authentication, both native builds, and CLI smoke commands unconfirmed.
No open issues 🎉
1 resolved since last review
Review effort: Balanced
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.

Status: draft — upstream source unverified
Configure the manual update workflow to resolve and fetch
https://gitlab.com/devpanel-vn/cliwith GitLab credentials, while preserving the original client output paths and native build matrix. The GitLab source is unreachable from this session; the assumedcmd/devpanel-clientpath comes from the existing executable metadata and must be confirmed against the real repository before merging.Required repository settings
GITLAB_TOKEN: GitLab deploy token withread_repositoryaccess todevpanel-vn/cli(or a personal access token with that scope and project access).GITLAB_USER: the deploy-token username (or a non-empty GitLab username for a personal access token).GitLab authentication is scoped to GitLab Git HTTP requests, without global Git config. The token is removed before running the built client. The GitHub workflow token still commits binaries.
Validation and limitations
Targeted YAML lint and actionlint passed (with unchanged Ubuntu 26.04 labels ignored by this actionlint version). Exercised credential validation, URL-scoped Git configuration, default HEAD parsing, cache decisions, fetch command construction and smoke checks using local mocks/fixtures. GitLab authentication, source layout, actual native builds, private dependencies, and hosted workflow remain unverified until GitLab access is available.
The Dockerfile continues to consume
base/bin/devpanel, not the new architecture-specific output paths; this PR does not change image behavior.