Files
Axel Niklasson Yun b89cd41f61 Reorganize examples into folders with READMEs (#42)
* Reorganize examples into folders with READMEs

Move each CI example into its own directory with a platform-conventional
filename and a README explaining when to use it, how it works, and setup
steps. Update SKILL.md links to point to the new folder paths.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Fix inaccurate customization guidance in READMEs

- GitLab CI continuous: clarify that $CI_DEFAULT_BRANCH is a predefined
  variable and show how to replace it in the rule expression
- GitHub Actions scheduled: note that branch pattern changes must also
  update startsWith() guards and version derivation in the workflow

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Rework docs

* Rename example files to platform conventions

Use the filename each CI platform expects: `linear-release.yml` for
GitHub Actions workflows, `config.yml` for CircleCI, `.gitlab-ci.yml`
for GitLab CI.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 12:41:10 +02:00

1.2 KiB

GitLab CI — Continuous Pipeline

Every deployment creates a completed release automatically.

When to use

Use this when your team ships continuously — every push to the default branch is a deploy, and each deploy should be tracked as its own release in Linear.

How it works

On every push to the default branch, the job downloads the Linear Release CLI and runs sync. This creates a new release from the commits since the last release and immediately marks it as complete.

Setup

  1. Create a release pipeline in Linear (Settings → Releases) and grab the access key.
  2. Add LINEAR_ACCESS_KEY as a CI/CD variable in GitLab (Settings → CI/CD → Variables).
  3. Copy the contents of .gitlab-ci.yml into your .gitlab-ci.yml (or merge with your existing config).

Customization

  • Branch rules: The workflow uses GitLab's predefined $CI_DEFAULT_BRANCH variable, which automatically matches your repository's default branch. To target a different branch, replace $CI_DEFAULT_BRANCH in the rule expression with a hardcoded branch name (e.g. if: $CI_COMMIT_BRANCH == "production").
  • Monorepo path filters: Add --include-paths to the sync command to scope the release to specific directories.