From 82e2b8d68e83af5883553a6934c0d03d667da54d Mon Sep 17 00:00:00 2001 From: Graham Beckley Date: Tue, 27 Oct 2026 18:23:15 -0400 Subject: [PATCH 1/2] Update docs for how to release new version of Kinto Admin --- docs/tutorial-dev-kinto-admin.rst | 46 +++++++++++++++++++++++++------ 1 file changed, 37 insertions(+), 9 deletions(-) diff --git a/docs/tutorial-dev-kinto-admin.rst b/docs/tutorial-dev-kinto-admin.rst index 62550a1cd..78a53d0a4 100644 --- a/docs/tutorial-dev-kinto-admin.rst +++ b/docs/tutorial-dev-kinto-admin.rst @@ -9,6 +9,7 @@ Goals * Development environment for Kinto Admin * Connect to a local Remote Settings server * Contribute patches +* Ship changes to production Prerequisites ------------- @@ -146,13 +147,40 @@ Submit Patches Development `happens on Github `_. -The process for a patch to reach Remote Settings is the following: +How Kinto Admin is packaged +''''''''''''''''''''''''''' -* Get the patch merged on Kinto/kinto-admin -* Create a new release version of kinto-admin on Github (`kinto-admin releases `_) -* Upgrade the kinto-admin release in Kinto (`example kinto PR `_) -* Release a new version of Kinto (`kinto instructions `_) -* Upgrade Kinto in Remote Settings (`example remote-settings PR `_) -* Release a new version of Remote Settings -* DEV and STAGE are deployed automatically when a new tag is published -* Initiate deployment in PROD (See *Releasing* section in README) +The Admin UI served at ``/v1/admin/`` is included in the server image by downloading a prebuilt release of Kinto Admin, at the version pinned in `kinto-admin/VERSION `_: + +* ``kinto-admin/VERSION`` holds a Kinto Admin release number, without the ``v`` prefix (eg. ``6.6.0``) +* The ``get-admin`` stage of `RemoteSettings.Dockerfile `_ runs `bin/pull-kinto-admin.sh `_, which downloads ``kinto-admin-release.tar`` from the GitHub release ``v$VERSION`` +* The assets are served by Kinto's ``kinto.plugins.admin``, which reads them from ``KINTO_ADMIN_ASSETS_PATH`` + +The tarball is built by Kinto Admin's `release workflow `_ when a ``vX.Y.Z`` tag is pushed, using ``npm run build:kinto-single``. The Kinto Admin bundled in the Kinto Python package is not used. + +Shipping a change to production +''''''''''''''''''''''''''''''' + +#. **Merge the change** on `Kinto/kinto-admin `_. +#. **Release Kinto Admin.** Publish a ``vX.Y.Z`` release on `Kinto Admin releases `_, from the GitHub UI or by pushing a tag (see `Releasing `_). Wait until ``kinto-admin-release.tar`` is attached to the release: it takes a few minutes, and the Remote Settings image build fails without it. +#. **Bump the version in Remote Settings.** A `scheduled workflow `_ checks for a new Kinto Admin release daily at 00:00 UTC, and opens a pull-request titled *Update Kinto Admin version to X.Y.Z*. To skip the wait, edit ``kinto-admin/VERSION`` in a pull-request yourself. +#. **Merge the pull-request.** DEV and STAGE are deployed automatically on merges to ``main``. +#. **Check the change on STAGE.** This is the last chance before PROD. +#. **Release Remote Settings.** Publish a new ``vX.Y.Z`` release (see `Releasing `_). Following our `versioning rules `_, a Kinto Admin minor bump is a Remote Settings minor bump. +#. **Wait for PROD.** STAGE is updated to the release version, and an ArgoCD workflow automatically promotes STAGE to PROD after successful `browser tests `_. + +For example: + +* 2026-10-09: `Kinto Admin v6.6.0 `_ was released +* 2026-10-10: the scheduled workflow opened `#1642 `_ +* 2026-10-13: #1642 was merged, deploying it to DEV and STAGE +* 2026-10-15: `Remote Settings v43.3.0 `_ was released and promoted to PROD + +Check the deployed version +'''''''''''''''''''''''''' + +The server exposes the Kinto Admin version in its capabilities: + +.. code-block:: bash + + curl -s https://remote-settings-dev.allizom.org/v1/ | jq .capabilities.admin.version From b3e843b5fe76fddcded98544feadfdc6ebce412f Mon Sep 17 00:00:00 2001 From: Graham Beckley Date: Wed, 28 Oct 2026 08:44:14 -0400 Subject: [PATCH 2/2] Update .secrets.baseline --- .secrets.baseline | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.secrets.baseline b/.secrets.baseline index 23472e5a1..9886a4440 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -134,21 +134,21 @@ "filename": "docs/tutorial-dev-kinto-admin.rst", "hashed_secret": "25ab86bed149ca6ca9c1c0d5db7c9a91388ddeab", "is_verified": false, - "line_number": 57 + "line_number": 58 }, { "type": "Secret Keyword", "filename": "docs/tutorial-dev-kinto-admin.rst", "hashed_secret": "47236e351ed244d885490acec726510223697354", "is_verified": false, - "line_number": 82 + "line_number": 83 }, { "type": "Secret Keyword", "filename": "docs/tutorial-dev-kinto-admin.rst", "hashed_secret": "bdf7192e23ab9e98651da98fe556e58b71170b82", "is_verified": false, - "line_number": 86 + "line_number": 87 } ], "docs/tutorial-local-server.rst": [ @@ -261,5 +261,5 @@ } ] }, - "generated_at": "2026-10-21T14:37:07Z" + "generated_at": "2026-10-28T12:43:37Z" }