linear-release-setup

Generates CI/CD configuration for Linear release tracking across GitHub Actions, GitLab CI, and CircleCI.

39.7k|4.4k|Updated Aug 26, 2021
One-click install
npx skills add https://github.com/novuhq/novu --skill linear-release-setup
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: linear-release-setup
Source: https://github.com/novuhq/novu/tree/main/.agents/skills/linear-release-setup
Command: npx skills add https://github.com/novuhq/novu --skill linear-release-setup

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Setting up Linear release tracking in CI pipelines requires choosing between continuous and scheduled pipelines, distinguishing stages from pipelines, and handling platform-specific quirks like shallow clones and musl-based Docker images. This Skill guides that decision process and generates correct CI configuration.

Core Features & Use Cases

  • Interactive pipeline modeling: Walks through detecting the CI platform, default branch, and deciding whether each build stream is a continuous or scheduled Linear pipeline, including the stages-vs-pipelines test.
  • CI config generation: Produces workflow files for GitHub Actions, GitLab CI, and CircleCI based on official linear-release examples, with correct clone depth, secrets, and branch triggers.
  • Monorepo and Docker handling: Covers path filtering per pipeline, per-pipeline access keys, and runtime requirements like glibc base images with git and curl installed.
  • Use Case: A team shipping an iOS app and a web app from one monorepo uses this Skill to create two Linear pipelines, generate separate GitHub Actions workflows with path filters, and configure the right secrets.

Quick Start

Ask the assistant to set up Linear release tracking for your repository's CI pipeline and answer its questions about what you ship and how releases move through stages.

Frequently Asked Questions about linear-release-setup

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up Linear release tracking in GitHub Actions?

Create a release pipeline in Linear Settings, then add a workflow using the official linear/linear-release-action@v0 action with fetch-depth: 0 checkout. Store the pipeline's access key as a LINEAR_ACCESS_KEY repository secret and trigger on your default branch.

What is the difference between a Linear pipeline and a stage?

A pipeline is one independent stream of releases with its own version history and access key, while a stage is a phase inside a single release like code freeze or QA. If two builds can hold different commits simultaneously, they are separate pipelines; the same build moving through gates is one pipeline with stages.

Should I use a continuous or scheduled Linear release pipeline?

Use continuous when every deploy completes a release at the moment of shipping, typical for nightlies and web apps. Use scheduled when releases collect changes over time and move through phases before shipping, typical for versioned mobile apps.

Why does the linear-release binary fail on Alpine Docker images?

The prebuilt binary is dynamically linked against glibc and cannot run on Alpine or other musl-based images, failing with an opaque not found error. Use a Debian or Ubuntu base image and explicitly install git and curl.

How do I handle Linear releases in a monorepo with multiple services?

Create one Linear pipeline per independently shipped service, each with its own access key secret. Configure path filters in Linear pipeline settings or via the --include-paths CLI flag, and use separate workflows per pipeline.

Why does linear-release need a full git clone in GitLab CI?

The CLI requires full history to track releases, but GitLab defaults to shallow clones of depth 20. Set GIT_DEPTH: 0 on the job and ensure GIT_STRATEGY is not none or empty so the repository is actually cloned.