All Projects → roopakv → orbs

roopakv / orbs

Licence: MIT license
Swissknife! A set of useful commands / jobs in circle workflows

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to orbs

shellcheck-orb
An orb for ShellCheck, a static analysis tool for shell scripts (https://shellcheck.net) — check all scripts in your repository on every commit
Stars: ✭ 18 (-33.33%)
Mutual labels:  circleci, circleci-orbs
compare-url
CircleCI 2.1 pipelines disable the CIRCLE_COMPARE_URL environment variable, useful when working with monorepo projects. This orb manually recreates (and improves!) it.
Stars: ✭ 31 (+14.81%)
Mutual labels:  circleci, circleci-orbs
circleci
CircleCI Orbs for CI/CD using Pulumi.
Stars: ✭ 16 (-40.74%)
Mutual labels:  circleci, circleci-orbs
docker-orb
Install/use various Docker-related tools on CircleCI
Stars: ✭ 18 (-33.33%)
Mutual labels:  circleci, circleci-orbs
googletest-ci
Continuous integration (CI) + Google Test (gtest) + CMake example boilerplate demo
Stars: ✭ 14 (-48.15%)
Mutual labels:  circleci, circle-ci
Norimaki
🌀 Android client for Circle CI
Stars: ✭ 19 (-29.63%)
Mutual labels:  circleci, circle-ci
orb-starter-kit
A starter kit for new orb authors
Stars: ✭ 27 (+0%)
Mutual labels:  circleci, circleci-orbs
docker-node-ci
The Docker image based on the official "node" image optimized for a CI environment
Stars: ✭ 18 (-33.33%)
Mutual labels:  circleci, circle-ci
terraform-provider-circleci
Terraform provider for CircleCI
Stars: ✭ 94 (+248.15%)
Mutual labels:  circleci
cart
Fetch build artifacts from CircleCI.
Stars: ✭ 21 (-22.22%)
Mutual labels:  circleci
cimg-node
The CircleCI Node.js Docker Convenience Image.
Stars: ✭ 35 (+29.63%)
Mutual labels:  circleci
circle
R client package for the Circle CI API
Stars: ✭ 12 (-55.56%)
Mutual labels:  circle-ci
MirrorCache
Download Redirector
Stars: ✭ 24 (-11.11%)
Mutual labels:  circleci
head-start
A boilerplate for React applications with an Express backend with a simple user registration/login
Stars: ✭ 24 (-11.11%)
Mutual labels:  circle-ci
docker-hhvm
Docker PHP repository with various PHP related images.
Stars: ✭ 64 (+137.04%)
Mutual labels:  circleci
terraform-aws-s3-bucket
Terraform module that creates an S3 bucket with an optional IAM user for external CI/CD systems
Stars: ✭ 138 (+411.11%)
Mutual labels:  circleci
phpboilerplate
PHP boilerplate with composer psr-4, phpunit and travis-ci.
Stars: ✭ 15 (-44.44%)
Mutual labels:  circleci
aws-ecs-orb
An orb that simplifies deployment to Amazon's Elastic Container Service (ECS). Supports both EC2 and Fargate launch types.
Stars: ✭ 48 (+77.78%)
Mutual labels:  circleci-orbs
scikit-ci
Simpler and centralized CI configuration for Python extensions.
Stars: ✭ 15 (-44.44%)
Mutual labels:  circleci
ci-npm-update
(no longer used by @bitjourney)
Stars: ✭ 41 (+51.85%)
Mutual labels:  circleci

Swissknife

This orb helps make common operations in various CircleCI workflows easier. (#monorepo) Some of the smaller useful commands are "fail if dirty", "run if modified", "run on branch". There are a few more complicated commands such as "wait for workflow" and "wait for job" which have niche usecases.

Official Orb page: https://circleci.com/orbs/registry/orb/roopakv/swissknife

Usage

Add swissknife to your Circle yml as follows

orbs:
  swissknife: roopakv/[email protected]

Once you have defined the Orb you can use the following commands

Fail if dirty

This can be used to fail a job if a number of steps result in git being dirty. Some examples of where this can be useful

  • Someone adds to package.json without using npm or yarn
  • You use go generate and someone made changes to a file but forgot to run go generate

Look here for the parameters this job accepts

Run if modified

Run steps only certain files are modified. For example, run js tests only if js files are modified.

Note: This command ends the job if files are not modified.

Read here for usage.

Wait for job

Circle doesnt allow you to run Job A after job B irrespective of job A's exit status. This command works around that.

Wrap a set of steps with this command and pass in the job it should run after and be rest assured that it will run the jobs one by one.

Here for usage info.

Wait for workflow

This lets you build a fake queue for a given branch and blocks workflows from actually running till previous workflows on this branch have been completed.

Note: By blocking workflows we mean that the job simply sleeps till it is its turn to run. i.e. you will be using circle credits to sleep this long (maybe use small containers?)

Look here for usage.

Github Release

This lets you create a Github release to a specified repository using custom tags. This can be useful if you want to generate releases on each master commit for instance.

Look here for usage.

Contribution

Please open an issue for the functionality you wish to add. Lets make sure it will work / there is nothing else like it.

When adding a new command, either add a circle test that we can use during build OR add a script that we can run to test things.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].