-
-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Continuous Integration & Testing #44
Milestone
Comments
arcticicestudio
added a commit
that referenced
this issue
Nov 24, 2018
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
arcticicestudio
added a commit
that referenced
this issue
Nov 24, 2018
Instead of defining per-project environment variables (1), using context (2) allows to define and use environment variables globally in all projects. References: (1) https://circleci.com/docs/2.0/env-vars (2) https://circleci.com/docs/2.0/contexts GH-44
arcticicestudio
added a commit
that referenced
this issue
Nov 25, 2018
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
arcticicestudio
added a commit
that referenced
this issue
Nov 25, 2018
Jest is able to generate JUnit formatted reports using the jest-junit (1) package. It has been defined in the main configuration file as additional reporter next to the `default` report format. See Circle CI's documentation about to how to collect test data (2) for more details about setups with Jest. References: (1) https://github.com/codecov/jest-junit (2) https://circleci.com/docs/2.0/collect-test-data/#jest GH-44
arcticicestudio
added a commit
that referenced
this issue
Nov 25, 2018
It sets the default branch from "master" to "develop" and enables partials analysis which is available through Codecov for JavaScript sources. GH-44
arcticicestudio
added a commit
that referenced
this issue
Nov 25, 2018
Jest is able to generate JUnit formatted reports using the jest-junit (1) package. It has been defined in the main configuration file as additional reporter next to the `default` report format. See Circle CI's documentation about to how to collect test data (2) for more details about setups with Jest. References: (1) https://github.com/codecov/jest-junit (2) https://circleci.com/docs/2.0/collect-test-data/#jest GH-44
arcticicestudio
added a commit
that referenced
this issue
Nov 25, 2018
It sets the default branch from "master" to "develop" and enables partials analysis which is available through Codecov for JavaScript sources. GH-44
arcticicestudio
added a commit
that referenced
this issue
Nov 25, 2018
…integration-and-testing Continuous Integration & Testing
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This issue documents the implementation and configuration of the workflow for the continuous integration & testing concept with Circle CI,
Travis CIand Codecov.Workflow
All tasks of the workflow are documented in the design concept (#43).
GitHub Integration Configuration
Like also documented in #43 the integration of the CI and coverage services with GitHub requires to configure the rules for protected branches. See the design concept for more details.
Tasks
.circleci/config.yml
configuration file for Circle CI.jest-junit
reporterImplement theSee updates in Design Concept: Continuous Integration & Testing #43 about the usage of Travis CI!.travis.yml
configuration file for Travis CI.The text was updated successfully, but these errors were encountered: