Submit Your Ideas

We want to hear from you - vote for the features and improvements you'd most like to see, or submit your own ideas if you don't find them already listed.

Skip build with [ci skip] in tag description

Current support

Currently it's possible to skip a build by specifying `[ci skip]` in a commit title or description, which is a great feature! It's very easy to use and anyone (without knowledge about the specific ci platform) can see at a glance that a commit was explicitly requested not to be built. Furthermore CircleCI explicitly shows the 'skipped' status for the build in it's UI.

Request

It would be great if similar support is added for git tags.

Why

Some of the arguments I outlined in the 'Current support' section. Easy to use, anyone can see that a build was skipped for a specific tag and CircleCI explicitly lists the build as 'skipped' in it's UI (since it's not a failed nor a succeeded build).

Example case

  • A GitHub (draft) release is created by specifying the new version
  • A CircleCI job is triggered for the tag
    • It applies the new version to the version files and commits (and pushes) them. Specifying [ci skip] so this commit isn't built.
    • It deletes the existing GitHub created tag and creates a new tag with the same name that points to the new commit (and pushes it). With this new feature it (like the commit) can create the new tag with specifying [ci skip] so it won't recursively trigger builds based on a created tag.

Git tag name

For git tags it's not possible to do this with the tag name, since both the spaces and the brackets are not valid characters in a tag name. Also I don't think anyone should want to stain their git (version) tag names with ci commands. Besides that git tag names can be filtered by using the `filters tags` section of a job: see docs.

Git tag message

The best solution would be to skip builds based on a tag message. Similar to skipping a build based on a commit message (see docs). So creating a tag like `git tag -a v1.1 -m "Release v1.1 [ci skip]"` would skip the build.

Proposal

Add support for skipping a build based on a tag description. Creating a tag like `git tag -a v1.1 -m "Release v1.1 [ci skip]"` will cause CircleCI to skip the build and show the build als 'skipped' in it's UI.

  • Avatar32.5fb70cce7410889e661286fd7f1897de Guest
  • Mar 2 2018
  • Future consideration
  • Attach files