fxa/.circleci
Reino Muhl 2df7ca494a
chore(nx): upgrade to nx 18
Because:

* Want to migrate Nx to latest

This commit:

* Migrate nx to 18 using nx cli migrate latest
* Readd a few dev dependancies back into packages/**/package.json
  * Behavior of `npx nx...` commands seems to have changed, resulting in
    multiple "command not found: <library>" errors, where <library>
    refers to libaries used in packages/**/package.json scripts, such as
    tailwindcss, tsc-alias, nx, etc.
* Updates nx cache location for Circle CI

Closes #FXA-8880
2024-02-12 09:01:00 -05:00
..
README.md task(CI): Updates to better support parallel smoke tests 2023-03-08 09:55:52 -08:00
assert-branch.sh feat(services): remove fxa-auth-db-mysql, fxa-email-event-proxy, and fxa-email-service 2022-01-13 16:23:22 -08:00
base-install.sh task(CI): Improve nx caching for CI pipelines 2023-08-29 11:19:54 -07:00
cancel-jobs.mjs task(CI): Parallel job cancellation 2023-01-25 09:03:40 -08:00
config.yml chore(nx): upgrade to nx 18 2024-02-12 09:01:00 -05:00
docker-build-fxa.sh chore(CI): Switch to multi stage docker build and clean up 2023-05-11 17:13:06 -07:00
docker-copy-cache.sh chore(CI): Switch to multi stage docker build and clean up 2023-05-11 17:13:06 -07:00
docker-deploy-fxa.sh chore(CI): Switch to multi stage docker build and clean up 2023-05-11 17:13:06 -07:00
modules-to-test.js feat(services): remove fxa-auth-db-mysql, fxa-email-event-proxy, and fxa-email-service 2022-01-13 16:23:22 -08:00
notify.sh task(CI): build, unit test, and integration test jobs 2023-01-10 12:52:01 -08:00
test-package.sh task(CI): Improve nx caching for CI pipelines 2023-08-29 11:19:54 -07:00

README.md

CircleCI

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

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:

yarn install
yarn 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.

Triggering Workflows

Previously we would trigger jobs directly, but we now trigger workflows instead. To see how workflows are triggered remotely, checkout: https://github.com/mozilla-services/cloudops-deployment/blob/master/projects/fxa/smoke-tests/smoketests.py

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