Skip to content

Conversation

@bhearsum
Copy link
Contributor

This a short term fix that should be quite safe to take. @JohanLorenzo has patches in the works to fix this more robustly.

@JohanLorenzo
Copy link
Contributor

CONGRATULATIONS READER! READ BELOW TO SEE HOW TO TEST THIS PR IN JUST 10 EASY STEPS 😅

More seriously, here's how I tested this PR:

  1. Push a try revision (e.g.). I took the latest mozilla-release which explains why I created 125.0.2 there, instead of 125.0.1
  2. Use ./startup.sh to start a local instance of shipit
  3. Create a release off of your try revision. You will likely have to deactivate partner repacks and EME-free ones by hardcoding the False
  4. Open the dev tools on the network console and promote your release. Copy the PATCH request to a curl command. You will get the Authorization token
  5. Run curl 'https://localhost:8015/releases' -H 'Content-Type: application/json' -H 'Authorization: Bearer AUTHORIZATION_TOKEN_YOU_GOT_FROM_DEVTOOLS' --insecure -H 'Content-Type: application/json' -X PATCH -d '{"status": "shipped"}' https://localhost:8015/releases/Firefox-125.0.2-build3. It took me 3 builds to get there.
  6. Follow the README to run product-details locally. I had to export PATH="/app/.cache/pypoetry/virtualenvs/shipit-api-9TtSrW0h-py3.9/bin:$PATH" to get shipit_rebuild_product_details. Don't push to Github.
  7. cd /tmp && mkdir product-details && & docker cp 14b5610b8085:/tmp/product-details/public/ old. Replace docker container ID by the one you have from step 6.
  8. Apply the patch you want to test. I had to tweak it a little bit to match 125.0.2 instead of 125.0.1 because of my try revision.
  9. Repeat step 6. Then docker cp 14b5610b8085:/tmp/product-details/public/ new && diffoscope --exclude-directory-metadata recursive old new
  10. Look at the diff and ensure your version is in firefox_history_major_releases.json.
--- old
+++ new
│   --- old/1.0
├── +++ new/1.0
│ │   --- old/1.0/all.json
│ ├── +++ new/1.0/all.json
│ │ ├── Pretty-printed
│ │ │ @@ -11516,14 +11516,23 @@
│ │ │              "category": "dev",
│ │ │              "date": "2012-04-19",
│ │ │              "description": null,
│ │ │              "is_security_driven": false,
│ │ │              "product": "firefox",
│ │ │              "version": "12.0b6"
│ │ │          },
│ │ │ +        "firefox-125.0.2": {
│ │ │ +            "build_number": 3,
│ │ │ +            "category": "stability",
│ │ │ +            "date": "2024-04-17",
│ │ │ +            "description": null,
│ │ │ +            "is_security_driven": false,
│ │ │ +            "product": "firefox",
│ │ │ +            "version": "125.0.2"
│ │ │ +        },
│ │ │          "firefox-13.0": {
│ │ │              "build_number": 1,
│ │ │              "category": "major",
│ │ │              "date": "2012-06-05",
│ │ │              "description": null,
│ │ │              "is_security_driven": false,
│ │ │              "product": "firefox",
│ │   --- old/1.0/firefox.json
│ ├── +++ new/1.0/firefox.json
│ │ ├── Pretty-printed
│ │ │ @@ -671,14 +671,23 @@
│ │ │              "category": "dev",
│ │ │              "date": "2012-04-19",
│ │ │              "description": null,
│ │ │              "is_security_driven": false,
│ │ │              "product": "firefox",
│ │ │              "version": "12.0b6"
│ │ │          },
│ │ │ +        "firefox-125.0.2": {
│ │ │ +            "build_number": 3,
│ │ │ +            "category": "stability",
│ │ │ +            "date": "2024-04-17",
│ │ │ +            "description": null,
│ │ │ +            "is_security_driven": false,
│ │ │ +            "product": "firefox",
│ │ │ +            "version": "125.0.2"
│ │ │ +        },
│ │ │          "firefox-13.0": {
│ │ │              "build_number": 1,
│ │ │              "category": "major",
│ │ │              "date": "2012-06-05",
│ │ │              "description": null,
│ │ │              "is_security_driven": false,
│ │ │              "product": "firefox",
│ │   --- old/1.0/firefox_history_major_releases.json
│ ├── +++ new/1.0/firefox_history_major_releases.json
│ │ ├── Pretty-printed
│ │ │ @@ -1,14 +1,15 @@
│ │ │  {
│ │ │      "1.0": "2004-11-09",
│ │ │      "1.5": "2005-11-29",
│ │ │      "10.0": "2012-01-31",
│ │ │      "100.0": "2022-05-03",
│ │ │      "11.0": "2012-03-13",
│ │ │      "12.0": "2012-04-24",
│ │ │ +    "125.0.2": "2024-04-17",
│ │ │      "13.0": "2012-06-05",
│ │ │      "14.0.1": "2012-07-17",
│ │ │      "15.0": "2012-08-28",
│ │ │      "16.0": "2012-10-09",
│ │ │      "17.0": "2012-11-20",
│ │ │      "18.0": "2013-01-08",
│ │ │      "19.0": "2013-02-19",
│ │   --- old/1.0/l10n
│ ├── +++ new/1.0/l10n
│ │ ├── file list
│ │ │ @@ -872,14 +872,15 @@
│ │ │  Firefox-124.0b4-build1.json
│ │ │  Firefox-124.0b5-build1.json
│ │ │  Firefox-124.0b6-build1.json
│ │ │  Firefox-124.0b7-build1.json
│ │ │  Firefox-124.0b8-build1.json
│ │ │  Firefox-124.0b9-build1.json
│ │ │  Firefox-125.0.1-build1.json
│ │ │ +Firefox-125.0.2-build3.json
│ │ │  Firefox-125.0b1-build1.json
│ │ │  Firefox-125.0b2-build1.json
│ │ │  Firefox-125.0b3-build1.json
│ │ │  Firefox-125.0b4-build1.json
│ │ │  Firefox-125.0b5-build1.json
│ │ │  Firefox-125.0b6-build1.json
│ │ │  Firefox-125.0b7-build1.json
│ │ │   --- old/1.0/l10n/index.html
│ │ ├── +++ new/1.0/l10n/index.html
│ │ │┄ 'html2text' not available in path.
│ │ │ @@ -881,14 +881,15 @@
│ │ │        <li><a href="Firefox-124.0b4-build1.json">Firefox-124.0b4-build1.json</a></li>
│ │ │        <li><a href="Firefox-124.0b5-build1.json">Firefox-124.0b5-build1.json</a></li>
│ │ │        <li><a href="Firefox-124.0b6-build1.json">Firefox-124.0b6-build1.json</a></li>
│ │ │        <li><a href="Firefox-124.0b7-build1.json">Firefox-124.0b7-build1.json</a></li>
│ │ │        <li><a href="Firefox-124.0b8-build1.json">Firefox-124.0b8-build1.json</a></li>
│ │ │        <li><a href="Firefox-124.0b9-build1.json">Firefox-124.0b9-build1.json</a></li>
│ │ │        <li><a href="Firefox-125.0.1-build1.json">Firefox-125.0.1-build1.json</a></li>
│ │ │ +      <li><a href="Firefox-125.0.2-build3.json">Firefox-125.0.2-build3.json</a></li>
│ │ │        <li><a href="Firefox-125.0b1-build1.json">Firefox-125.0b1-build1.json</a></li>
│ │ │        <li><a href="Firefox-125.0b2-build1.json">Firefox-125.0b2-build1.json</a></li>
│ │ │        <li><a href="Firefox-125.0b3-build1.json">Firefox-125.0b3-build1.json</a></li>
│ │ │        <li><a href="Firefox-125.0b4-build1.json">Firefox-125.0b4-build1.json</a></li>
│ │ │        <li><a href="Firefox-125.0b5-build1.json">Firefox-125.0b5-build1.json</a></li>
│ │ │        <li><a href="Firefox-125.0b6-build1.json">Firefox-125.0b6-build1.json</a></li>
│ │ │        <li><a href="Firefox-125.0b7-build1.json">Firefox-125.0b7-build1.json</a></li>

Copy link
Contributor

@JohanLorenzo JohanLorenzo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See my comment above. I'm confident this hack does what we want. Let's get it landed while we handle a better solution in #1429.

Thanks Ben for taking care of it!

@bhearsum bhearsum merged commit 82274d3 into mozilla-releng:main Apr 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants