Skip to content

Latest commit

 

History

History
44 lines (27 loc) · 2.35 KB

README.md

File metadata and controls

44 lines (27 loc) · 2.35 KB

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.