Reference implementation of the Cloud Native Buildpacks lifecycle
Go to file
Jesse Brown ebf6a57d11
Merge pull request #1574 from alphanota/remove-err-check
fix: remove error check that always returns nil
2025-12-17 16:52:37 -06:00
.github bump to 1.25.3 to fix more sevs 2025-11-05 12:33:30 -06:00
.vscode
acceptance Update acceptance tests for Moby 2025-12-17 19:04:13 +00:00
api Initial spike of exec-env support 2025-09-10 12:28:34 -05:00
archive restoring archive/tar_windows.go 2025-04-20 18:39:44 -05:00
auth
buildpack Initial spike of exec-env support 2025-09-10 12:28:34 -05:00
cache Update linter 2025-02-28 12:03:32 -06:00
cmd Merge pull request #1574 from alphanota/remove-err-check 2025-12-17 16:52:37 -06:00
env
image fixup! Updating to moby libs to satisfy imgutil moby changes 2025-11-24 14:10:00 -06:00
internal Moby updates (excluding acceptance) 2025-12-17 19:04:13 +00:00
launch Initial spike of exec-env support 2025-09-10 12:28:34 -05:00
layers
log code lint 2025-04-16 14:47:09 +02:00
phase Fixing detector tests 2025-12-12 10:00:10 -06:00
platform Merge pull request #1539 from buildpacks/jab/exec-env 2025-12-12 09:37:24 -06:00
priv remove deprecations 2025-12-12 11:03:58 -06:00
testhelpers remove deprecations 2025-12-12 11:03:58 -06:00
tools remove deprecations 2025-12-12 11:03:58 -06:00
.dockerignore
.gitignore
.gitpod.yml
.grype.yaml
CODEOWNERS
CONTRIBUTING.md
DEVELOPMENT.md
IMAGE.md
LICENSE
Makefile Specify tool versions in go.mod 2025-07-03 09:31:27 +00:00
README.md
RELEASE.md
codecov.yml
go.mod Moby updates (excluding acceptance) 2025-12-17 19:04:13 +00:00
go.sum Moby updates (excluding acceptance) 2025-12-17 19:04:13 +00:00
golangci.yaml code lint 2025-04-16 14:47:09 +02:00
lifecycle.toml

README.md

Lifecycle

Build Status GoDoc codecov CII Best Practices Gitpod ready-to-code

A reference implementation of the Cloud Native Buildpacks specification.

Supported APIs

Lifecycle Version Platform APIs Buildpack APIs
0.20.x 0.7, 0.8, 0.9, 0.10, 0.11, 0.12, 0.13, 0.14 0.7, 0.8, 0.9, 0.10, 0.11
0.19.x 0.7, 0.8, 0.9, 0.10, 0.11, 0.12, 0.13 0.7, 0.8, 0.9, 0.10, 0.11
0.18.x 0.7, 0.8, 0.9, 0.10, 0.11, 0.12 0.7, 0.8, 0.9, 0.10
0.17.x 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.10, 0.11, 0.12 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.10
0.16.x 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.10, 0.11 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9
0.15.x 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.10 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9
0.14.x 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8
0.13.x 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 0.2, 0.3, 0.4, 0.5, 0.6, 0.7

* denotes unreleased version

Usage

Build

Either:

  • analyzer - Reads metadata from the previous image and ensures registry access.
  • detector - Chooses buildpacks (via /bin/detect) and produces a build plan.
  • restorer - Restores layer metadata from the previous image and from the cache, and restores cached layers.
  • builder - Executes buildpacks (via /bin/build).
  • exporter - Creates an image and caches layers.

Or:

  • creator - Runs the five phases listed above in order.

Run

  • launcher - Invokes a chosen process.

Rebase

  • rebaser - Creates an image from a previous image with updated base layers.

Contributing

  • CONTRIBUTING - Information on how to contribute and grow your understanding of the lifecycle.
  • DEVELOPMENT - Further detail to help you during the development process.
  • RELEASE - Further details about our release process.