Template repository for new CircleCI prototype image repos, each extending CircleCI's prototype cimg/base
image.
To create a new CircleCI prototype image, start a new repository (CircleCI-Public/cimg-IMAGE_NAME
) from this template.
Populate the manifests
file according to the instructions that appear there.
(config.yml instructions go here, etc.)
Finally, in README.md
(this file), replace IMAGE_NAME
with the name of the new image (e.g., elixir
). Do the same with the string template
where it appears in either cimg-template
or cimg/template
. Then complete this README
by replacing any text that is specific to this template repository itself (such as this section) with corresponding information about the new image/repository instead.
Currently, there is only a Node variant of this image. The Node variant includes the latest LTS version of Node, installed via the n
Node version manager. To use a different Node version, see Installing/Activating Node Versions, or use CircleCI's Node orb to manually install a different version of Node. See below for explanation of specific -node
(and other) tags.
To create the functionality of a -browsers
variant, use CircleCI's browser-tools
orb to install browsers at runtime.
Mostly immutable (except in the case of CVEs or severe bugs) monthly release tags for this image and its Node variant. Any new or removed tools from the base image in the last month will be reflected in this image release. For example, the 11.0.4-2019.04
/11.0.4-2019.04-node
tags would include any changes to this repo/image that occurred in March 2019. Monthly releases are built on the 3rd of every month.
Mutable tags representing the most recent monthly release of this image and its Node variant. For example, if today's date was April 15th, 2019, then the 11.0.4-stable
/11.0.4-stable-node
tags would be aliases for the 11.0.4-2019.04
/11.0.4-2019.04-node
tags.
Mutable tags representing the builds of this image and its Node variant following the most recent successful commit to this repository's master
branch.
Mutable tag that represents the latest non-Node-variant, vanilla cimg/IMAGE_NAME
image of any version, functionally duplicating whichever is the most recent Ruby version pushed to either the edge
or stable
tags. Anyone calling the cimg/IMAGE_NAME
image without specifying a tag will get this version of the image.
Stub text.
Working on CircleCI Docker images.
To add a new version of IMAGE_NAME, add it to the versions
array in the manifests
file, as well as to the version
pipeline parameter enum
at the top of the config.yml
file.
Upon successful commits to non-master branches of this repository, IMAGE_NAME
versions of this image and its Node variant will be pushed to ccitest/IMAGE_NAME
for any requisite post-deployment testing. Tags there will represent the branch and commit hash that triggered them. For example, a successful commit to a branch of this repository called dev
would result in the creation of the following image/tag: ccitest/IMAGE_NAME:<IMAGE_NAME-version>-dev-${CIRCLE_SHA1:0:7}"
, where ${CIRCLE_SHA1:0:7}"
represents the first six characters of that particular commit hash.
Monthly release tags can be manually re-published to patch vulnerabilities or severe bugs via a pushing a git
tag that contains the string monthly
. This tag will trigger a workflow that will rebuild all current <IMAGE_NAME-version>-<year>.<month>
and <IMAGE_NAME-version>-<year>.<month>-node
tags, as well as the <IMAGE_NAME-version>-stable
, <IMAGE_NAME-version>-stable-node
, and latest
alias tags.
We welcome issues to and pull requests against this repository!
This image is maintained by the Community & Partner Engineering Team.