GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — moby/VENDORING.md at master · ilevine/moby

Expand file tree

/

VENDORING.md

Copy path
More file actions
More file actions

Latest commit

 

History

History
History
46 lines (34 loc) · 1.91 KB
/

VENDORING.md

Copy path

File metadata and controls

46 lines (34 loc) · 1.91 KB
Raw
Copy raw file
Download raw file
Outline
Edit and raw actions

Vendoring policies

This document outlines recommended Vendoring policies for Docker repositories. (Example, libnetwork is a Docker repo and logrus is not.)

Vendoring using tags

Commit ID based vendoring provides little/no information about the updates vendored. To fix this, vendors will now require that repositories use annotated tags along with commit ids to snapshot commits. Annotated tags by themselves are not sufficient, since the same tag can be force updated to reference different commits.

Each tag should:

  • Follow Semantic Versioning rules (refer to section on "Semantic Versioning")
  • Have a corresponding entry in the change tracking document.

Each repo should:

  • Have a change tracking document between tags/releases. Ex: CHANGELOG.md, github releases file.

The goal here is for consuming repos to be able to use the tag version and changelog updates to determine whether the vendoring will cause any breaking or backward incompatible changes. This also means that repos can specify having dependency on a package of a specific version or greater up to the next major release, without encountering breaking changes.

Semantic Versioning

Annotated version tags should follow Semantic Versioning policies:

"Given a version number MAJOR.MINOR.PATCH, increment the:

  1. MAJOR version when you make incompatible API changes,
  2. MINOR version when you add functionality in a backwards-compatible manner, and
  3. PATCH version when you make backwards-compatible bug fixes.

Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format."

Vendoring cadence

In order to avoid huge vendoring changes, it is recommended to have a regular cadence for vendoring updates. e.g. monthly.

Pre-merge vendoring tests

All related repos will be vendored into docker/docker. CI on docker/docker should catch any breaking changes involving multiple repos.

You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.