Skip to content

CircleCI Orb to replace the built-in checkout command for shallow checkouts. Includes various options to improve CI speeds for repositories with complex histories or dependencies.

License

Notifications You must be signed in to change notification settings

vsco/advanced-checkout-orb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

advanced-checkout-orb

CircleCI Status CircleCI Orb Version

Description

A CircleCI Orb to add advanced features to replace the default checkout step. The main use-case is to enable shallow-checkout operations to reduce the compute time and bandwidth related to a full repository clone.

This is accomplished by:

  • limiting clone depth
  • limiting fetch depth
  • skipping submodule resolution (unless overridden)
  • skipping LFS pointer resolution (unless overridden)

This orb is mainly ideal for repositories with large git histories as well as the execution of jobs that do not require git history or linked dependencies to peform their actions (build, and release scripts / CI operations).

Releases

  • All open pull requests will build/tag as: vsco/advanced-checkout@dev:alpha on each commit.
  • All merged pull requests to main will build/tag as: vsco/advanced-checkout@dev:beta

Upon a successful build / CircleCI publish on main, a release may be promoted using the following naming patterns:

  • patch release: patch-release-v1.0.z
  • minor release: minor-release-v1.y.0
  • major release: major-release-vx.0.0

Once a tag with the correspoding name is pushed up a release flow will trigger and publish to the CircleCI Orb registry. (Note, it's necessary to distinguish between a patch, minor or major release for CircleCI purposes.)

See: config.yml#L100-L107 and orb-tools/dev-promote-prod-from-git-tag for details on how the release process works.

Citations

This Orb has code influenced from the following sources.

License

See LICENSE, extrapolated from our forking of guitarrapc/git-shallow-clone-orb.

About

CircleCI Orb to replace the built-in checkout command for shallow checkouts. Includes various options to improve CI speeds for repositories with complex histories or dependencies.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published