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

870 Коммитов

Автор SHA1 Сообщение Дата
Meghan Sardesai bea00143a8
Release 1.254.2 2023-03-28 15:10:57 -04:00
Dan Schomburg 0ffd927f6c
Merge pull request #15086 from mozilla/FXA-6641
task(many): Remove #unit tags on tests
2023-03-27 14:12:04 -07:00
Vijay Budhram 0cb194a8ce
Merge pull request #15027 from mozilla/dependabot/npm_and_yarn/react-router-dom-6.9.0
chore(deps): bump react-router-dom from 6.8.2 to 6.9.0
2023-03-27 11:03:16 -04:00
dschom 2f477a0398
task(many): Remove #unit tags on tests
Because:
- It turns out we invert the target for #integration tags with a regex

This Commit:
- Applies a negation to our our unit test filter that says testing everything not match #integration.
2023-03-25 13:43:00 -07:00
dependabot[bot] 1c1c325b2e
chore(deps): bump pm2 from 5.2.2 to 5.3.0
Bumps [pm2](https://github.com/Unitech/pm2) from 5.2.2 to 5.3.0.
- [Release notes](https://github.com/Unitech/pm2/releases)
- [Changelog](https://github.com/Unitech/pm2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Unitech/pm2/compare/5.2.2...5.3.0)

---
updated-dependencies:
- dependency-name: pm2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-22 17:18:31 +00:00
Barry Chen e6dd4bad6a
fix(node18): resolve names to ipv4 first 2023-03-21 12:11:26 -05:00
Barry Chen da11e63832
chore(deps): upgrade to node.js 18
Because:
 - we want to use the latest node LTS major version

This commit:
 - upgrades FxA to use node 18, with two workarounds
   - Webpack uses a hash algorithm that's no longer supported by default
     in node 17+, causing build failures; --openssl-legacy-provider is
     used as the workaround
   - dns.lookup in node 17+ by default returns the results in the same
     order as they are from the resolver, which could lead to
     'localhost' resolving to ::1; --dns-result-order=ipv4first is used
     as the workaround
2023-03-20 13:28:10 -05:00
dependabot[bot] 092e5d640f
chore(deps): bump react-router-dom from 6.8.2 to 6.9.0
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.8.2 to 6.9.0.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.9.0/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-20 18:09:38 +00:00
Meghan Sardesai 5eee424611
Revert "Train 254.2" 2023-03-16 17:00:51 -04:00
Meghan Sardesai da103724f6
Merge pull request #15047 from mozilla/train-254-uplift-2
Train 254.2
2023-03-16 16:51:29 -04:00
dschom cd6f0d3e24
task(ci): Add compile CI job to catch TS errors
Because:
- TypeScript errors were occurring during the docker build of the deploy workflow
- We want to catch typescript errors as early as possible

This Commit:
- Adds compile job, that runs tsc --noEmit across all workspaces
2023-03-16 11:38:57 -07:00
Wil Clouser e4d844a26f
Release 1.254.1 2023-03-15 18:02:24 -07:00
Wil Clouser 4601f2e539
Release 1.254.0 2023-03-15 15:31:36 -07:00
Julian Poyourow 5a5e0943da
Merge branch 'main' into 253-merge3 2023-03-15 14:58:36 -07:00
Reino Muhl 43a6802423
Release 1.253.4 2023-03-13 19:25:16 -04:00
dependabot[bot] 4a20611e1a
chore(deps): bump eslint-plugin-jest from 27.1.3 to 27.2.1
Bumps [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) from 27.1.3 to 27.2.1.
- [Release notes](https://github.com/jest-community/eslint-plugin-jest/releases)
- [Changelog](https://github.com/jest-community/eslint-plugin-jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jest-community/eslint-plugin-jest/compare/v27.1.3...v27.2.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-jest
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-10 07:01:36 +00:00
Julian Poyourow c5c4daaf50
Release 1.253.3 2023-03-08 08:33:12 -08:00
Barry Chen a66fb788d6
Merge pull request #14949 from mozilla/dependabot/npm_and_yarn/react-router-dom-6.8.2
chore(deps): bump react-router-dom from 6.4.0 to 6.8.2
2023-03-06 06:58:28 -08:00
Barry Chen b8b47288df
Merge pull request #14852 from mozilla/dependabot/npm_and_yarn/eslint-plugin-react-7.32.2
chore(deps-dev): bump eslint-plugin-react from 7.31.10 to 7.32.2
2023-03-03 06:36:22 -08:00
dependabot[bot] 76a3286dfd
chore(deps): bump react-router-dom from 6.4.0 to 6.8.2
Bumps [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) from 6.4.0 to 6.8.2.
- [Release notes](https://github.com/remix-run/react-router/releases)
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md)
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@6.8.2/packages/react-router-dom)

---
updated-dependencies:
- dependency-name: react-router-dom
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-03 07:02:32 +00:00
Julian Poyourow 4c12204f9b
Release 1.253.2 2023-03-02 12:59:36 -08:00
dependabot[bot] 96a9900a96
chore(deps-dev): bump eslint-plugin-react from 7.31.10 to 7.32.2
Bumps [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) from 7.31.10 to 7.32.2.
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.31.10...v7.32.2)

---
updated-dependencies:
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-02 18:34:45 +00:00
Ivo Plamenac e5a671950a
Release 1.252.4 2023-03-02 09:49:01 -08:00
Vijay Budhram c3efff3f6c
Release 1.253.1 2023-03-02 11:25:27 -05:00
Julian Poyourow fc902427a5
Release 1.253.0 2023-03-01 10:43:25 -08:00
Ivo Plamenac de82372000
Release 1.252.3 2023-02-24 11:23:39 -08:00
Ivo Plamenac 103d51c4c2
Release 1.252.2 2023-02-17 13:11:31 -08:00
Ivo Plamenac 3e044303e4
manually fixing to 252.1 2023-02-17 12:50:58 -08:00
Ivo Plamenac f2bb12c163
Release 1.252.0 2023-02-15 11:45:41 -08:00
dschom a99487ed7b
Release 1.251.3 2023-02-02 15:01:35 -08:00
dschom 632c6898e9
Release 1.251.2 2023-02-01 15:36:02 -08:00
dschom 91cf19519d
Release 1.251.1 2023-02-01 14:00:51 -08:00
dschom 2fd6f1ef22
Release 1.251.0 2023-02-01 11:16:50 -08:00
Dan Schomburg edd312c12b
Merge pull request #14817 from mozilla/ci-improvements-part-2
task(CI): Improvements to caching and startup behaviors
2023-02-01 07:56:16 -08:00
dschom 8d3e42963f
task(CI): Improvements to caching and startup behaviors
Because:
- Something was off for base-install in jobs using the ci-base-browser-latest images. Yarn cache hits were not happening as anticipated. Also, in the event the yarn install could be skipped, the postinstall script was taking longer than expected.
- An occasional race condition where the deploy-fxa-ci-browser-image could be built off a stale base image was detected.
- Since ci-base-latest and ci-base-browsers-latests weren’t pushed at the same time, occasionally different builds would be used in a pipeline. Although this never directly led to problems, it did seem like the potential was there.
- The ci-* docker images were larger than desired..
- While investigating optimizations, it became apparent job spin up times could be further reduced by using CircleCI workspaces.
– Nightly builds are useful, and we would occasionally encounter a regression on main that wasn’t present in PRs due to differences in resulting state after a merge.
- SRE needs a better way to trigger smoke tests in parallel.

This commit:
- Reworks the docker file.
	- Puts everything into one multi stage build, which results in better layer caching.
	- Creates new tag names ci-builder, ci-test-runner, & ci-functional-test-runner
       - Makes sure these images are as small as possible
	- Updates references to these new images in the executors
- Ensures that the ci images are built on the same machine and pushed at the same time. This addresses the potential race condition described in the because section above.
- Short circuits the docker build for ci images if there are no npm package changes detected. Since the base images are really just a way to decrease build time by caching package dependencies in a docker image that compresses better than the circle ci cache, we don’t actually need to build the image unless a package change has occurred.
- Leverages CircleCI workspaces. The build now primes the workspace and it is then restored in the subsequent jobs. This ends up saving time, because we skip the build / install step, and it allows us to use much smaller docker images for any job running post build.
- Adds a script to extract the current state of the yarn cache from a docker image, so the yarn cache can be kept fresh. This was an oversight in the initial pass.
- For functional tests, the operation that starts the pm2 stack and the actual jobs have been separated into different steps. This gives us better timing metrics, and also lets us see which step fails most often. Starting the stack actually takes up a considerable amount of time, and shouldn’t be confused with the time it takes to execute tests.
- For functional tests (both playwright and content), a memory optimization was made by not including fxa-shared or fxa-react in the ‘run start’ operation. Both of these workspaces are now built in the ‘build’ stage, so there is no reason to include them when spinning up the stack. This actually resulted in a noticeable reduction in memory usage. This is probably due to the fact that these pm2 tasks were running a watch operation, which is more memory intensive than just running a build.
- Ensures that the entire git history isn't copied into the base image, which results in a smaller image. (Our git history is surprisingly large!) This is done by setting a depth of 1 when cloning and depth of 2 when fetching. These changes also address FXA-6676, because the clone and fetch operations have been modified.
- Adds a nightly workflow, so that we can run a full test suite to guard against regression resulting from a merge into main. See FXA-6626 for more information. We can also use this nightly flow to postpone any CI tasks that run on main, but aren’t urgent.
- Retains the ability to manually trigger tasks that were shifted to the nightly workflow. These tasks include deploying storybook or deploying packages.
- Adds the ability to trigger smoke test workflows with pipeline parameters. It’s possible this will simplify executing smoke tests in parallel for SRE.
- Fixes the issue of slow base-install script performance when the yarn install operation could be skipped. The issue was that when we invoke postinstall directly, fxa-shared would be built. This is already taken care of in the build step, so doing so in the base install was an unneeded redundancy.
- Adds a few other minor improvements fixes such as avoiding a couple redundant build / lint operations, making the build script a bit more robust, and cleaning up the config file a bit.
2023-01-30 13:14:13 -08:00
dependabot[bot] 24923f1537
chore(deps-dev): bump @typescript-eslint/eslint-plugin
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.44.0 to 5.49.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.49.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-30 06:09:39 +00:00
Bianca Danforth 8d3a82a32a
Release 1.250.1 2023-01-19 16:29:59 -05:00
Bianca Danforth 297da9c0db
Release 1.250.0 2023-01-18 13:58:29 -05:00
Vijay Budhram eecc0029d0
Merge pull request #14721 from mozilla/train-249
Train 249
2023-01-18 13:40:52 -05:00
Vijay Budhram 6cac315649
Release 1.249.4 2023-01-17 14:15:52 -05:00
dependabot[bot] 0653d4e3d3
chore(deps): bump convict from 6.2.3 to 6.2.4
Bumps [convict](https://github.com/mozilla/node-convict) from 6.2.3 to 6.2.4.
- [Release notes](https://github.com/mozilla/node-convict/releases)
- [Changelog](https://github.com/mozilla/node-convict/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mozilla/node-convict/commits)

---
updated-dependencies:
- dependency-name: convict
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-10 22:25:35 +00:00
dschom a620922422
task(CI): build, unit test, and integration test jobs
Because:
- We wanted to run a few preliminary checks before proceeding to more
  expensive CI jobs. Checks include:
    - Compiling typescript in commonly referenced workspace packages
    - Linting code that has changed
    - Executing Unit Tests for code that has changed
- We wanted to partition test operations into unit tests, and
   integration tests. Unit tests can be run relatively quickly and
   require no additional infrastructure. Integration tests require
   additional infrastructure and generally have longer execution
   times. Now that jobs are blocked from running until preliminary
   checks pass, one of which is unit tests, it is important to draw a
   distinction between these two types of tests.
- We want to avoid unnecessary yarn installs and typescript
  compilations, which are time consuming.
- We want to make sure that test results are published and failing tests
   can be easily viewed in the CI.

This Commit:

- Creates a build-and-validate job in the CI that builds, lints, and
  unit tests code prior to running any other jobs.
- Creates unit-test job in CI config
- Creates integration-test job in CI config
- Removes redundant calls to compile workspace packages. These
  are now built up front, cached, and restored as needed for future
  runs.
- Extends the create-lists script functionality to generate commands
  that can be executed with the parallel command.
- Removes unnecessary yarn install operations. Invoking yarn workspace
   focus results in a yarn install. In the case of running tests this is largely
   unnecessary, because we already do a yarn install in the base-install
   step.
- Make sure test results are exported as junit xml so the CI can report
  back on tests that were failing. This was done for a couple workspace
  packages, but many were lacking the capability. All test:unit and
  test:integration npm scripts now export this data.
- Fixes the following issues encountered along the way:
        - Adds logs to monitor heap usage of jest tests. Some
          jest tests are still using a lot of memory.
        - Moves a few slow / long running tests from unit test to
          integration tests.
        - Ensures that jest.transform for ts-jest is always instructed
           to have the config option isolateModules is set to true. This
           definitely decreases memory overhead and resolves some
           of the OOM errors we were hitting. It was configured in
           some places but not everywhere.
        - Exports test results files for all tests
        - Exports all test artifacts
        - Uses gnu parallel to run tests in parallel. Turns out yarn
          workspaces foreach would give a false positive when an OOM
          was encountered. Fortunately, the parallel command offered an
          acceptable work around, and even offers some nice features
          like the load argument, which allows to control test execution a
          bit more efficiently.
2023-01-10 12:52:01 -08:00
Vijay Budhram ca5431743d
Release 1.249.3 2023-01-05 23:24:07 -05:00
Vijay Budhram 499ec919d7
Release 1.249.2 2023-01-05 12:10:23 -05:00
Vijay Budhram 12fa2cef35
Release 1.249.1 2023-01-04 17:01:07 -05:00
Vijay Budhram 243ae6044d
Release 1.249.0 2023-01-04 13:43:46 -05:00
Lisa Chan 1004b559fa
Release 1.248.3 2022-12-28 15:06:10 -05:00
Lisa Chan 4e8640e5fe
Release 1.248.2 2022-12-22 15:49:51 -05:00
Lisa Chan b7cb513c8f
Release 1.248.1 2022-12-21 15:31:46 -05:00
Lisa Chan c30da4fad0
Release 1.248.0 2022-12-21 13:16:15 -05:00