Граф коммитов

161 Коммитов

Автор SHA1 Сообщение Дата
Danny Coates aa1dc5b026
revert(node): revert CI and Docker images to node 14
Test stability has dropped with the change to node 16. Until we can resolve it we're reverting to 14. Local dev will continue on 16 in order to be able to fix the problems.
2021-11-01 13:50:43 -07:00
Danny Coates 6ac1af8d03
fix(content): revert to using mozilla/fxa-circleci for test-content-server-remote 2021-10-28 14:53:07 -07:00
Danny Coates 9eaa80e1d6
chore(ci): update circleci with new base images (#10818)
As part of updating to node v16 we found the "normal" upgrade path for mozilla/fxa-circleci to be problematic.

CircleCI has also changed their recommended base image to be cimg/node.

Our mozilla/fxa-circleci image has shrunk over time to now be a thin wrapper over circleci/node that adds firefox esr. Instead of maintaining our own image the recommended circleci/browser-tools orb can take care of firefox version for us.
2021-10-26 09:00:06 -07:00
Danny Coates 17e06a38d2
chore(node): upgrade to node 16 (#10799) 2021-10-22 16:10:22 -07:00
Ben Bangert 6a42d1d734
feat(auth): require auth firestore usage
Because:

* Having a toggle to deactivate use of Firestore drastically increases
  code complexity.

This commit:

* Requires Firestore for running auth-server and uses the emulator for
  local running.

Closes #10710
2021-10-15 10:42:37 -07:00
Danny Coates a95f1270af
refactor(build): use esbuild instead of ts-node (#10639) 2021-10-07 09:57:36 -07:00
Danny Coates a561ae1f32
feat(auth): convert remaining auth-server db use to direct db access
This eliminates the runtime dependency of auth-server on auth-db-mysql. It's no longer required to run the auth-db-mysql process in production for the auth-server. This change doesn't completely remove the need for auth-db-mysql, email-service still needs it, and in dev a portion of it is required to run migrations, but it should now be considered deprecated and we should continue working to remove it completely.
2021-06-23 10:44:14 -07:00
Danny Coates abccb7218b
chore(ci): bump ci cache key 2021-05-18 10:10:17 -07:00
Danny Coates 898d7428fe
chore(ci): bump cache prefix 2021-05-11 09:45:52 -07:00
Danny Coates c807e027b2
chore(deps): updated nodemailer 2021-05-10 16:40:01 -07:00
Danny Coates 7998cc8e57
chore(ci): add playwright tests to circleci 2021-05-10 11:40:10 -07:00
Danny Coates 22a155406f
chore(ci): increase test-content-server-remote task to a large instance 2021-04-15 11:14:02 -07:00
Danny Coates a97de2e2a9
chore(build): stop building docker images for each service by default 2020-10-28 13:07:44 -07:00
Danny Coates 6c2b253c11
chore(deps): update node version to 14 2020-10-27 10:21:05 -07:00
Danny Coates cfe0c3f955
chore(ci): store test results of smoke tests 2020-10-20 14:33:10 -07:00
Les Orchard 464710c838
Merge pull request #6573 from mozilla/exp-281-new-storybook-publisher
chore(storybooks): switch to a new shared Storybook publisher
2020-10-01 09:56:39 -07:00
Les Orchard 17b2099292
chore(storybooks): switch to a new shared Storybook publisher
Because

* We want to publish Storybook builds to preview component work

This commit

* Integrates [mozilla-fxa/storybook-gcp-publisher](github.com/mozilla-fxa/storybook-gcp-publisher) into the CircleCI flow so that Storybooks are built and published to a Google Cloud static site for every test run

EXP-281
2020-09-29 17:43:49 -04:00
Vijay Budhram a43361834b
fix(tests): Add codecov carry flags to circleci 2020-09-28 12:33:09 -04:00
Vijay Budhram 325c2f4aa2
fix(tests): Store test results in insights 2020-09-25 11:18:44 -04:00
Vijay Budhram 9c8dd7de05
chore(tests): Add settings v2 initial functional testing 2020-09-23 11:32:04 -04:00
Danny Coates 29a01f0cee
chore(ci): increase fxa-auth-server ci to medium+ 2020-09-17 00:13:06 -07:00
Danny Coates 6e9d4eaea5
refactor(profile): replaced graphicsmagick with sharp
because I'm tired of the extra hoops to maintain gm
2020-09-16 13:59:51 -07:00
Danny Coates a4407cda07
fix(oauthdb): split creating oauthdb from main process startup. possibly a fix for #6100 2020-09-16 09:12:20 -07:00
Jon Buckley 945148dcee
Merge pull request #6155 from mozilla/jrgm-run-remote-test-targets
fix(tests): add job to run tests against remote target
2020-09-10 14:24:08 -04:00
Danny Coates 2742c1d07a
feat(docker): publish fxa-mono docker image
because we want to transition from an image per service to one image for all services
2020-08-28 10:10:14 -07:00
John Morrison 4a5e8869e4
fix(tests): add job to run tests against remote target 2020-08-10 11:41:28 -07:00
Danny Coates 7358a3cae5
feat(auth-client): replace fxa-js-client with fxa-auth-client
- We have two clients for the auth-server API, one in `content-server/app/scripts/lib/auth` and `fxa-js-client`. The content-server one was meant to replace fxa-js-client but I didn't finish the work to get it running on nodejs.

- Extracts the content-server implementation into `fxa-auth-client`
- Wraps the implementation with shims to work with nodejs in `server.ts`
- Updates references to fxa-js-client to use fxa-auth-client
- Removes fxa-js-client
2020-07-21 09:08:35 -07:00
Danny Coates ded14dade0
feat(ci): cache .yarn in circleci
caching node_modules didn't really speed us up with npm but caching .yarn might improve our build time. let's see
2020-06-29 14:57:45 -07:00
Danny Coates 39345629be
fix(build): added postinstall to fxa-shared
In dev we want to be able to go from a `yarn install` to
running code but we also want to keep typescript as a
devDependency for production builds where we have an
explicit build phase then --production install. To keep the
production install from failing on the postinstall we need
it to succeed even if tsc is missing, hence the `|| true`.
2020-06-26 10:18:33 -07:00
Jared Hirsch 20a0acf8b0
chore(docs): Replace 'master' with 'main' throughout
Certain references to 'master' haven't been removed yet, see
issue #5698, issue #5699, issue #5700 for more complex followups.
2020-06-25 13:44:28 -07:00
Danny Coates ce07880854
feat(dev): handle skip ci label to skip tests 2020-06-25 09:49:33 -07:00
Danny Coates eb03d818a3
feat(ci): use store_test_results in circleci for content-server 2020-06-15 15:30:53 -07:00
Danny Coates 4aab0ce02c
feat(ci): use store_test_results in circleci for auth-server
this might help us keep track of flaky tests over time
2020-06-15 13:57:52 -07:00
Danny Coates c495177e88
feat(auth): handle a password change requirement in login
When a password change is required the lockedAt flag is set, currently by an external script. Until the password is changed all sessions for such an account must be verified. The 'password-change' verificationReason is returned in the response to tell the frontend to show the change password ui. The resetAccount db procedure resets the lockedAt value to null when the password is changed.
2020-06-10 15:44:56 -07:00
Vlad Filippov 6dd797aa0b
fix(ci): bring back feature. and dockerpush. branch deploys 2020-06-09 12:20:01 -04:00
Danny Coates c3780546b6
fix(local-dev): added fxa-shared and fxa-react to pm2
In order to keep the typescript shared modules up to date for their dependents to use while running locally this adds them to pm2 so that a `tsc --watch` can run alongside the other services.

Note, this DOES NOT automatically restart dependent javascript service processes.

This change refactors pm2-all.sh in order to start processes in dependency topological order. This requires an update to most pm2.config.js files in order to set PATH correctly while running under yarn.
2020-06-03 10:05:02 -07:00
Danny Coates 99385e89a5
fix(auth): fixed test-local.sh in fxa-auth-server
with hoisted eslint dependency `npm run lint` can't find
eslint on the path. We've got linting globally as a precommit
hook, it doesn't need to run on tests.
2020-06-01 14:10:43 -07:00
Barry Chen 6b0a23e7a9
chore(content-server): promote MX record validation to a feature
Because:
 - MX record validation was a successful experiment

This commit:
 - Remove the experiment code around the feature
 - Add a config to enable/disable the feature
 - Add a config to exclude some domains
2020-06-01 11:54:01 -05:00
Danny Coates 21fe09b720
fix(build): fix paths to fxa-shared
fxa-shared is a mix of typescript and javascript. When we started using workspace:* references I converted all of our require paths for fxa-shared to remove the ../../ relative paths. In doing so I also changed some requires that looked like require('fxa-shared').l10n.localizeTimestamps to require('fxa-shared/l10n/localizeTimestamps'). The problem with that isn't immediately clear because in local development and CI it works fine because of ts-node/register. The problem is that localizeTimestamps is typescript and production doesn't use ts-node so it has no idea how to load it. Going through the object chain on require('fxa-shared') works because 'fxa-shared' resolves to the compiled 'dist/index.js'. The other way resolves to the source directory where there is no js file. Ok, so we should always do require('fxa-shared').whatever, well, no. There's currently cases where we have to go the other way. It's inconsistent, and we should fix it.

This commit fixes those require paths.

It also fixes a runtime path issue with our docker images. Our current production configuration expects each app to be located at /app, but now after switching to yarn most of our dependencies live two directories up from the app code, and the way that our internal dependencies, like fxa-shared, are accessed is via a relative symlink setup by yarn. So there's not room for these paths without changes. Instead of copying things like before, this change creates a root /fxa directory with the whole project and creates a symlink to /app for whichever service it's for.
2020-05-28 19:07:52 -07:00
Les Orchard a71aa0cb74
feat(storybooks): build storybooks for CI and deploy to mozilla-fxa/storybooks
- post a comment on PRs for storybook deploy when relevant

- tweaks to CircleCi config to build & deploy storybooks for pull
  requests and master merges

- try to avoid building storybooks if the packages are not in
  packages/test.list generated by base-install

- updates for yarn

- tweaks to use github personal access token

- refactor storybook webpack customizations to use shared function in
  fxa-react, along with fixes to module resolution

- add fxa-content-server as dependency for fxa-react, since it seems to
  reuse content server styles that, in turn, need photon-colors

issue #5385
2020-05-26 16:27:29 -04:00
Les Orchard c0ca747a15
chore(tests): clean up old Stripe customers after functional tests
- also move ts-node to a production dependency, since it seems necessary
  to run scripts now.

fixes #5326
2020-05-22 13:57:10 -04:00
Danny Coates 81575019a9
refactor(packages): use workspace references 2020-05-21 10:57:21 -07:00
Lauren Zugai e82eeebf0a
refactor(shared components): Rename 'fxa-components' to 'fxa-react'
Because:
We need to begin sharing at least hooks and images alongside components. Components should live in fxa-react/components/ instead of root-level fxa-components.
2020-05-15 12:55:21 -05:00
Danny Coates 7c8859ecc2
fix(circleci): increase content-server test resource_class to medium+
Functional tests have grown increasingly unstable on medium size
and sometimes require multiple retries to pass. Increasing to
medium+ seems to have helped stability.
2020-05-11 11:00:49 -07:00
Danny Coates cfcad72ddf
fix(circleci): I forgot mozilla/ in the previous 2020-05-01 08:48:32 -07:00
Danny Coates b88a0e2cff
refactor(fxa-circleci): moved fxa-circleci image source
Including fxa-circleci in the /packages folder was awkward
since it isn't part of the deployment and needed some special
handling in the test/build process.

This attempts to make that better.
2020-04-30 17:04:51 -07:00
Jody Heavener 1d49574d14
chore(ci): add fxa-components to test-many 2020-04-28 21:40:45 -04:00
Danny Coates 4dd0b00076
feat(build): add a default dockerfile template to build.sh
This reduces the boilerplate when all your package
needs is to copy the contents of it's own directory to /app
and a pm2.config.js file exists

To allow more packages to use the default, /fxa-geodb and
/fxa-shared are included in the fxa-node base image.

Custom images can still be made by having a Dockerfile as before.
2020-04-23 07:40:31 -07:00
Danny Coates d4da8a3606
feat(docker): created fxa-builder docker image
This adds a base node image and builder image so
that all our service images can share the same
common base, be smaller, and require less customization.
2020-04-22 16:27:22 -07:00
Ben Bangert 3643654af0
feat(graphql-api): initial base project
Because:

* New graphql-api server doesn't exist yet.

This commit:

* Duplicates the admin-server project, with admin-server specific bits
  removed.
* Links in necessary build portions to circleci.

Closes #4812
2020-04-22 11:47:46 -07:00