Bug 1920970 - Move ESLint node_modules bundles away from tooltool and into the toolchain. r=jcristau

Differential Revision: https://phabricator.services.mozilla.com/D223647
This commit is contained in:
Mark Banner
2024-09-26 10:55:31 +00:00
parent 54e1e4ece3
commit 1b9a4bcf9e
13 changed files with 93 additions and 159 deletions

View File

@@ -125,53 +125,3 @@ and when we upgrade the versions.
The plugin can then be used with ESLint in the
`normal way <https://eslint.org/docs/latest/use/configure/plugins>`_.
Packaging node_modules
----------------------
For our continuous integration (CI) builders, we package ``node_modules`` for
both the top-level directory, and eslint-plugin-mozilla. These are uploaded to
our CI before the patch is released.
Currently `Mark Banner (standard8) <https://people.mozilla.org/s?query=standard8>`_
is the only person that does this regularly, and will be automatically added as
a blocking reviewer on patches that touch the relevant ``package.json`` files.
A Release Engineering team member would likely have permissions to upload the
files as well.
To upload the files, the process is:
* Obtain ToolTool credentials for the public tooltool upload space.
* Download the `taskcluster shell from here <https://github.com/taskcluster/taskcluster/tree/main/clients/client-shell>`_,
if you haven't already.
* Run the following command. This will open a page for you to log in, and
set environment variables for the following commands to use.
.. code-block:: shell
eval `TASKCLUSTER_ROOT_URL=https://firefox-ci-tc.services.mozilla.com taskcluster signin -s 'project:releng:services/tooltool/api/upload/public'`
* Upload the eslint-plugin-mozilla packages:
.. code-block:: shell
cd tools/lint/eslint/eslint-plugin-mozilla/
./update.sh
<follow the instructions>
* Upload the top-level packages:
.. code-block:: shell
cd ..
./update.sh
<follow the instructions>
* Add the changes to the commit that changes ``package.json``.
The update scripts automatically clean out the ``node_modules`` directories,
removes the ``package-lock.json`` files, and then does a fresh installation. This
helps to ensure a "clean" directory with only the required modules, and an up to
date ``package-lock.json`` file.