fxa/.circleci
Danny Coates cfcad72ddf
fix(circleci): I forgot mozilla/ in the previous
2020-05-01 08:48:32 -07:00
..
README.md refactor(fxa-circleci): moved fxa-circleci image source 2020-04-30 17:04:51 -07:00
assert-branch.sh refactor(fxa-circleci): moved fxa-circleci image source 2020-04-30 17:04:51 -07:00
base-install.sh feat(docker): created fxa-builder docker image 2020-04-22 16:27:22 -07:00
build-all.sh feat(docker): created fxa-builder docker image 2020-04-22 16:27:22 -07:00
build-and-deploy-fxa-circleci.sh fix(circleci): I forgot mozilla/ in the previous 2020-05-01 08:48:32 -07:00
build.sh feat(build): add a default dockerfile template to build.sh 2020-04-23 07:40:31 -07:00
config.yml refactor(fxa-circleci): moved fxa-circleci image source 2020-04-30 17:04:51 -07:00
deploy-all.sh chore(ci): improved deploy log output 2020-03-13 15:27:50 -07:00
deploy.sh chore(ci): no need to tag/push unchanged docker images 2020-03-16 10:43:04 -07:00
modules-to-test.js fix(scripts): force all tests to run if build scripts change 2019-06-04 10:23:57 +01:00
test-package.sh lint(ci): .circleci shell script updates from shellcheck 2020-03-12 09:20:32 -07:00

README.md

CircleCI

config.yml defines the jobs and workflows of our CircleCI deployment.

Special Cases

fxa-email-service isn't tested for most PRs because it doesn't change often and is relatively resource intensive. In order to trigger these tests the PR branch should be prefixed with email-service-. PRs that change those packages on other branches will (intentionally) fail.

Scripts

This directory contains scripts used by config.yml to run jobs. More general scripts should be located in ../_scripts or in individual package directories.

Conventions

Tests

Packages are tested with ./test-package.sh. The default action is to run:

npm ci
npm test

Packages may define a scripts/test-ci.sh as a custom test script.

Builds

By default packages are built using docker. The standard Dockerfile is the preferred method. Packages may define a scripts/build-ci.sh as a custom build script.

Deploys

Packages that create docker images are deployed to docker hub.

New packages require username and password environment variables in CircleCI project settings in order to deploy.

Local Testing

With the CircleCI CLI you can run some jobs locally. Deploy jobs will fail to run.

For example, to run the test-many job:

circleci config process .circleci/config.yml > .circleci/local.yml
circleci local execute -c .circleci/local.yml --job test-many