diff --git a/docs/adr/adr_002_packaging_releasing_admin_UI.md b/docs/adr/adr_002_packaging_releasing_admin_UI.md index bd3797be..e0c9744a 100644 --- a/docs/adr/adr_002_packaging_releasing_admin_UI.md +++ b/docs/adr/adr_002_packaging_releasing_admin_UI.md @@ -14,6 +14,18 @@ Currently, in order to deliver a change on the Kinto Admin UI to our Remote Sett 4. Upgrade the Kinto version in Remote Settings 5. Release and deploy Remote Settings +```mermaid +sequenceDiagram + actor dev + dev->>Kinto Admin: Tag release + dev->>Kinto: Update Kinto Admin VERSION file + dev->>Kinto: Tag release + Kinto->>PyPI: Build with new Kinto Admin, release to PyPI + Dependabot->>Remote Settings: Bump Kinto + dev->>Remote Settings: Tag release + Remote Settings->>Prod: Build with new Kinto, release to prod +``` + Each step can take a certain amount of time, since they may involve pull-requests, review, and coordination. We want to reduce the amount of time and efforts that are necessary for a change in the Kinto Admin UI repository to be deployed and available to our production users. @@ -69,6 +81,16 @@ The releasing steps would become: 2. Upgrade the Kinto Admin version in Remote Settings 3. Release and deploy Remote Settings +```mermaid +sequenceDiagram + actor dev + dev->>Kinto Admin: Tag release + dev->>Remote Settings: Update Kinto Admin VERSION file + dev->>Remote Settings: Tag release + Remote Settings->>Remote Settings: Build RS container, overwriting bundle in kinto Python package with new Kinto Admin + Remote Settings->>Production: release to prod +``` + **Delivery Efforts**: Mid. 2 release steps. **Complexity**: Low. But ungraceful because of the coupling between the location where Kinto expects the assets to be and the Remote Settings repository @@ -84,6 +106,16 @@ In Remote Settings, we would set it to a local folder (eg. `KINTO_ADMIN_ASSETS_L The releasing steps are the same as *Option 1*. +```mermaid +sequenceDiagram + actor dev + dev->>Kinto Admin: Tag release + dev->>Remote Settings: Update Kinto Admin VERSION file + dev->>Remote Settings: Tag release + Remote Settings->>Remote Settings: Build RS container, saving new Kinto Admin to KINTO_ADMIN_ASSETS_LOCATION + Remote Settings->>Production: release to prod +``` + **Pros** - Same as *Option 1* diff --git a/tests/browser_test.py b/tests/browser_test.py index 3646d68c..a782292e 100644 --- a/tests/browser_test.py +++ b/tests/browser_test.py @@ -1,3 +1,5 @@ +import time + import pytest from kinto_http.patch_type import JSONPatch from selenium.common.exceptions import NoSuchElementException @@ -65,6 +67,8 @@ async def test_review_signoff( ) selenium.refresh() + time.sleep(1) # give react a second for hooks + try: approve_button: WebElement = selenium.find_element( By.XPATH, "//button[contains(., 'Approve')]"