Skip to content

feat: GitLab support for /land-and-deploy#634

Open
sternryan wants to merge 1 commit intogarrytan:mainfrom
sternryan:feat/gitlab-land-and-deploy
Open

feat: GitLab support for /land-and-deploy#634
sternryan wants to merge 1 commit intogarrytan:mainfrom
sternryan:feat/gitlab-land-and-deploy

Conversation

@sternryan
Copy link
Copy Markdown

Summary

  • Add glab CLI equivalents for all 15+ gh commands in /land-and-deploy so the skill works end-to-end on GitLab repos (P2 from TODOS.md)
  • Extend the DEPLOY_BOOTSTRAP resolver to detect .gitlab-ci.yml deploy/staging pipelines alongside GitHub Actions workflows
  • Replace the GitLab hard block with platform-conditional paths throughout the template, following the same multi-platform pattern used by /ship and /retro

Key command mappings added:

GitHub GitLab
gh auth status glab auth status
gh pr view glab mr view -F json
gh pr checks glab ci status
gh pr merge --squash --delete-branch glab mr merge --squash --remove-source-branch --yes
gh run list glab ci list
gh run view glab ci view
gh pr create (revert) glab mr create

GitLab-specific adjustments:

  • Merge queue logic (Step 4a) is skipped on GitLab -- no equivalent concept
  • Pipeline status mapping: success/failed/running/pending/canceled
  • MR conflict detection via has_conflicts field instead of mergeable
  • All user-facing messages say "PR/MR" contextually

Test plan

  • bun run gen:skill-docs regenerates all skills without errors
  • bun test test/skill-validation.test.ts test/gen-skill-docs.test.ts -- 601 tests pass, 0 failures
  • Manual: run /land-and-deploy on a GitHub repo (no regression)
  • Manual: run /land-and-deploy on a GitLab repo with glab CLI installed

Add glab CLI equivalents for all gh commands in land-and-deploy so the
skill works on both GitHub and GitLab repos. Key changes:

- Remove the GitLab hard block, replace with platform-conditional paths
- gh pr view -> glab mr view, gh pr checks -> glab ci status,
  gh pr merge -> glab mr merge, gh run list -> glab ci list,
  gh run view -> glab ci view
- Skip merge queue logic on GitLab (no equivalent concept)
- Extend DEPLOY_BOOTSTRAP resolver to detect .gitlab-ci.yml pipelines
- Update all user-facing messages to say PR/MR contextually

Follows the same multi-platform pattern used by /ship and /retro.
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.

1 participant