Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Implement the Circle CI configuration file
Circle CI (1) is one of the most popular and proven CI providers that allows to automate pipelines from commit to deploy with a quick, safe, and scaled process. They support many languages and provide great and unique features like orbs (2), job orchestration, powerful caching, SSH or local builds for easy debugging and first-class Docker and GitHub integration (apps, hooks, etc.) support. The extensive and well-written documentations (3) make it easy to set up and configure it for the usage in projects. Circle CI has been used for almost all open source projects of Arctic Ice Studio and will be used as primary CI provider for _Nord Docs_ too. Before starting to run builds, Circle CI must be authorized on a per project basis to access the code on GitHub. After the process has been authorized (GitHub OAuth) the project will be added to the dashboard and required webhooks to listen for new Git events will be automatically set up. See the documentation about how to get started and add a project to the dashboard (4). NOTE: The latest config 2.1 features (5) are currently still in Beta Preview and must be enabled explicitly for each project via Settings -> Advanced Settings -> "Enable build processing (preview)"! See the "Enabling Build Processing" (6) documentation for more details. The Docker image of the CI container (7) will be the currently latest stable Node.js (8) LTS version `10.x.x` and the previous LTS version `8`. The `-browsers-legacy` tag suffix (9) can be used later on for end-to-end tests (GH-38) with Cypress (10). Next to Node.js these images currently include Chrome, Firefox, Java 8, and PhantomJS. To gather and upload all created coverage reports the "codecov/codecov" (11) Circle CI orb (12) which provides the `upload` command for easy integration into jobs and workflows. References: (1) https://circleci.com (2) https://circleci.com/orbs (3) https://circleci.com/docs (4) https://circleci.com/docs/2.0/first-steps (5) https://github.com/CircleCI-Public/config-preview-sdk/blob/master/docs/README.md (6) https://circleci.com/docs/2.0/build-processing (7) https://hub.docker.com/r/circleci/node/tags (8) https://nodejs.org (9) https://circleci.com/docs/2.0/circleci-images/#language-image-variants (10) https://www.cypress.io (11) https://circleci.com/orbs/registry/orb/codecov/codecov (12) https://circleci.com/docs/2.0/orb-intro GH-44
- Loading branch information