Skip to content

Authenticate CLI update workflow to GitLab - #322

Merged
darrenoh merged 5 commits into
mainfrom
copilot/refactor-devpanel-cli-workflow
Nov 12, 2026
Merged

darrenoh merged 5 commits into
mainfrom
copilot/refactor-devpanel-cli-workflow

Conversation

@darrenoh

@darrenoh darrenoh commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

Status: draft — upstream source unverified

Configure the manual update workflow to resolve and fetch https://gitlab.com/devpanel-vn/cli with GitLab credentials, while preserving the original client output paths and native build matrix. The GitLab source is unreachable from this session; the assumed cmd/devpanel-client path comes from the existing executable metadata and must be confirmed against the real repository before merging.

Required repository settings

  • Actions secret GITLAB_TOKEN: GitLab deploy token with read_repository access to devpanel-vn/cli (or a personal access token with that scope and project access).
  • Actions variable 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.

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
darrenoh marked this pull request as draft November 11, 2026 16:47
@darrenoh darrenoh changed the title Build DevPanel CLI using upstream go-build target Draft: refactor DevPanel CLI update workflow Nov 11, 2026
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 darrenoh changed the title Draft: refactor DevPanel CLI update workflow Draft: authenticate CLI update workflow to GitLab Nov 11, 2026
Co-authored-by: darrenoh <2293701+darrenoh@users.noreply.github.com>
Comment thread TODO.md Resolved
Co-authored-by: darrenoh <2293701+darrenoh@users.noreply.github.com>
@darrenoh
darrenoh marked this pull request as ready for review November 12, 2026 00:02
@darrenoh
darrenoh requested a balanced review from Copilot November 12, 2026 00:02

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 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>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 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

@darrenoh darrenoh changed the title Draft: authenticate CLI update workflow to GitLab Authenticate CLI update workflow to GitLab Nov 12, 2026
@darrenoh
darrenoh merged commit 45ac8df into main Nov 12, 2026
9 checks passed
@darrenoh
darrenoh deleted the copilot/refactor-devpanel-cli-workflow branch November 12, 2026 03:57
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.

3 participants