Last Call

AI on duty

Get the digest

Feature

GitLab

GitLab compliance pipelines — the feature that forces compliance- or security-related CI jobs to run in projects assigned a compliance framework label — are deprecated and will be removed in GitLab 20.0. The replacement is the pipeline execution policy type.

Scheduled
198days00hrs00min

departs 20 May 2027

Official source GitLab deprecations and removals — docs.gitlab.com (official) ↗ (docs.gitlab.com)

Quick answers

Is it true that GitLab is removing compliance pipelines in GitLab 20.0 (20 May 2027) — migrate to pipeline execution policies?
Yes. GitLab has officially announced it, effective 20 May 2027. Compliance pipelines are how many GitLab organizations guarantee that certain CI/CD jobs — security scans, license checks, audit steps — always run in the pipelines of projects tagged with a compliance framework, regardless of what an individual project's `.gitlab-ci.yml` says.
When does it take effect?
20 May 2027. Verified against the vendor's own announcement.
What should I use instead?
Migrate from compliance pipelines to the new **pipeline execution policy** type before GitLab 20.0 (20 May 2027).

What this means for you

Compliance pipelines are how many GitLab organizations guarantee that certain CI/CD jobs — security scans, license checks, audit steps — always run in the pipelines of projects tagged with a compliance framework, regardless of what an individual project's `.gitlab-ci.yml` says. GitLab deprecated the feature in GitLab 17.3 and, per its official deprecations page, will remove it in GitLab 20.0 — which GitLab's own release schedule dates to 20 May 2027. GitLab's reasoning is consolidation: it offers two overlapping mechanisms today — compliance pipelines and security policies — and wants a single place to enforce required jobs, so it is steering everyone to the newer pipeline execution policy type. Who this affects: compliance and platform teams at organizations that use compliance framework labels to inject required jobs. When 20.0 lands, a compliance pipeline configuration that has not been migrated stops enforcing those jobs — meaning the security scans or audit steps you assumed were running everywhere may silently no longer run. This is a breaking change, so it needs a deliberate migration rather than a wait-and-see.

Where to go

Migrate from compliance pipelines to the new **pipeline execution policy** type before GitLab 20.0 (20 May 2027). GitLab recommends doing this "as soon as possible" and publishes a dedicated migration guide and the tracking epic (gitlab-org epic 11275). The practical steps: inventory which compliance framework labels currently point at a compliance pipeline configuration and what jobs each injects; recreate that enforcement as a pipeline execution policy, which GitLab says offers more flexibility — including assigning required pipelines to specific compliance framework labels; then verify on a test project that the required jobs run before retiring the old compliance pipeline configuration. GitLab positions pipeline execution policies (part of its security policies framework) as the single forward mechanism, so teams still split between compliance pipelines and security policies should consolidate onto the policy model.

  • Pipeline execution policies — GitLab's named replacement; enforce required CI jobs and can be scoped to specific compliance framework labels
  • Security policies — the broader GitLab framework that pipeline execution policies are part of, for consolidating compliance and security enforcement in one place

GitLab is removing compliance pipelines in GitLab 20.0, which GitLab’s own release schedule dates to 20 May 2027. The feature was deprecated back in GitLab 17.3, and GitLab’s official deprecations page marks the removal as a breaking change.

What’s going away, and why

Compliance pipelines let a compliance or platform team force specific CI jobs — security scans, license checks, audit steps — to run in every project tagged with a given compliance framework label, no matter what the project’s own pipeline config says. GitLab offers two overlapping ways to do this today: compliance pipelines and security policies. To give teams a single place to enforce required jobs, GitLab is consolidating onto the newer pipeline execution policy type and retiring compliance pipelines.

Who this affects

Organizations that use compliance framework labels to inject required jobs into project pipelines. The sharp edge is quiet: when 20.0 removes the feature, an un-migrated compliance pipeline simply stops enforcing its jobs. If those jobs were your guarantee that security scanning or audit steps ran everywhere, that guarantee disappears without an error — so this is worth migrating ahead of the date, not discovering after it.

What to do

Before GitLab 20.0 (20 May 2027):

  1. Inventory which compliance framework labels point at a compliance pipeline configuration, and what each one injects.
  2. Recreate that enforcement as a pipeline execution policy — GitLab says these can be assigned to specific compliance framework labels and offer more flexibility than the old mechanism.
  3. Verify on a test project that the required jobs actually run under the new policy before retiring the compliance pipeline configuration.

GitLab recommends migrating “as soon as possible” and publishes a migration guide and the tracking epic (gitlab-org&11275) for scope and timing.

This entry tracks GitLab’s official deprecations and removals page; if the removal milestone or its scheduled date changes, the entry will be updated with a changelog note.

Entry changelog

  • — last reviewed.
  • — Entry created from GitLab's official deprecations and removals page (docs.gitlab.com/update/deprecations/). Announcement milestone 17.3; removal_milestone 20.0; breaking_change: true; tracking epic gitlab-org&11275. Date 20 May 2027 is GitLab's own scheduled date for the 20.0 milestone as published in that page's release schedule — not inferred by us. Quoted direction: migrate "from compliance pipelines to the new pipeline execution policy type as soon as possible." Not repo-detectable (a hosted GitLab configuration, no dependency/image/string fingerprint), so detect is intentionally empty.

Related on the calendar

Put this countdown in your README

Building on GitLab? Drop this badge into a project’s README or docs — it shows the days left and refreshes on its own every night from this page. Last Call countdown for GitLab compliance pipelines — the feature that forces compliance- or security-related CI jobs to run in projects assigned a compliance framework label — are deprecated and will be removed in GitLab 20.0. The replacement is the pipeline execution policy type.

[![Last Call countdown](https://lastcall.dev/badge/gitlab-compliance-pipelines-removal.svg)](https://lastcall.dev/entries/gitlab-compliance-pipelines-removal)

Spot an error or a changed date? Tell us and it’s corrected the same night.