diff --git a/dashboard/index.html b/dashboard/index.html index 6c9e315..a0864c8 100644 --- a/dashboard/index.html +++ b/dashboard/index.html @@ -47,6 +47,9 @@
  • +Release Engineering +
  • +
  • Are We ESMified Yet? diff --git a/documentation/developers/index.html b/documentation/developers/index.html index 7cb0dca..1732c37 100644 --- a/documentation/developers/index.html +++ b/documentation/developers/index.html @@ -59,6 +59,9 @@
  • +Release Engineering +
  • +
  • Are We ESMified Yet? diff --git a/documentation/drivers/index.html b/documentation/drivers/index.html index fb0a308..38971c3 100644 --- a/documentation/drivers/index.html +++ b/documentation/drivers/index.html @@ -57,6 +57,9 @@
  • +Release Engineering +
  • +
  • Are We ESMified Yet? diff --git a/documentation/drivers/merge_duty/index.html b/documentation/drivers/merge_duty/index.html index 4bf23f0..2bc6a21 100644 --- a/documentation/drivers/merge_duty/index.html +++ b/documentation/drivers/merge_duty/index.html @@ -62,6 +62,9 @@
  • +Release Engineering +
  • +
  • Are We ESMified Yet? diff --git a/documentation/drivers/mergeday_email_templates/index.html b/documentation/drivers/mergeday_email_templates/index.html index 5d852f7..891a65f 100644 --- a/documentation/drivers/mergeday_email_templates/index.html +++ b/documentation/drivers/mergeday_email_templates/index.html @@ -56,6 +56,9 @@
  • +Release Engineering +
  • +
  • Are We ESMified Yet? diff --git a/documentation/drivers/mergedayautomation/index.html b/documentation/drivers/mergedayautomation/index.html index 686febd..92dd13a 100644 --- a/documentation/drivers/mergedayautomation/index.html +++ b/documentation/drivers/mergedayautomation/index.html @@ -57,6 +57,9 @@
  • +Release Engineering +
  • +
  • Are We ESMified Yet? diff --git a/documentation/drivers/releasenotes/index.html b/documentation/drivers/releasenotes/index.html index cbcfacd..8817498 100644 --- a/documentation/drivers/releasenotes/index.html +++ b/documentation/drivers/releasenotes/index.html @@ -56,6 +56,9 @@
  • +Release Engineering +
  • +
  • Are We ESMified Yet? diff --git a/documentation/index.html b/documentation/index.html index 9488083..884d43d 100644 --- a/documentation/index.html +++ b/documentation/index.html @@ -56,6 +56,9 @@
  • +Release Engineering +
  • +
  • Are We ESMified Yet? @@ -83,6 +86,7 @@

    Release Drivers

    The Thunderbird drivers list consists of the active team, those involved in producing Thunderbird releases, and diff --git a/documentation/index.md b/documentation/index.md index e53b099..e082b4e 100644 --- a/documentation/index.md +++ b/documentation/index.md @@ -18,6 +18,7 @@ The active team that is primarily responsible for Thunderbird releases is: * Wayne Mery (:wsmwk, Release Manager) * Rob Lemley (:rjl, Release Engineer) +* Daniel Darnell (:dandarnell, Release Engineer) The [Thunderbird drivers list](mailto:thunderbird-drivers@mozilla.org) consists of the active team, those involved in producing Thunderbird releases, and diff --git a/documentation/releng/index.html b/documentation/releng/index.html new file mode 100644 index 0000000..a77eafb --- /dev/null +++ b/documentation/releng/index.html @@ -0,0 +1,95 @@ + + + + + +Release Engineering | Thunderbird Release Documentation + + + + + + + + + + + + + + + + + + + + +

    + + +
    +
    The reports of Thunderbird's death have been greatly exaggerated. + +
    +
    +
    +
    + + + + diff --git a/documentation/releng/index.md b/documentation/releng/index.md new file mode 100644 index 0000000..02248b0 --- /dev/null +++ b/documentation/releng/index.md @@ -0,0 +1,7 @@ +title: Release Engineering +slug: index +date: 2024-03-20 19:34:27 UTC +type: text +author: Rob Lemley + +* [Manually Verify Updates](manually_verify_updates) diff --git a/documentation/releng/manually_verify_updates/index.html b/documentation/releng/manually_verify_updates/index.html new file mode 100644 index 0000000..5c5efad --- /dev/null +++ b/documentation/releng/manually_verify_updates/index.html @@ -0,0 +1,203 @@ + + + + + +Manually Verify Updates | Thunderbird Release Documentation + + + + + + + + + + + + + + + + + + + + +
    + + +
    +
    The reports of Thunderbird's death have been greatly exaggerated. + +
    +

    Manually Verify Updates

    + + +
    +

    Occasionally the Update Verify jobs fail, and it might be useful to test the process yourself.

    +

    Requirements

    +
      +
    • A machine to run the update on. In CI this happens on Linux
    • +
    • Python (2.7 is still in use)
    • +
    • A copy of "compare-directories.py" from a M-C checkout.
        +
      • M-C:tools/update-verify/release/compare-directories.py
      • +
      +
    • +
    • Starting version package on the test machine (Linux)
        +
      • thunderbird-68.0b4.tar.bz2
      • +
      +
    • +
    • Starting version package for the target platform:
        +
      • Thunderbird 68.0b4.dmg for macOS
      • +
      • Thunderbird Setup 68.0b4.exe for windows
      • +
      • thunderbird-68.0b4.tar.bz2 for linux
      • +
      +
    • +
    • Destination version package for the target platform:
        +
      • Thunderbird 69.0b1.dmg for macOS
      • +
      • Thunderbird Setup 68.0b1.exe for windows
      • +
      • thunderbird-69.0b1.tar.bz2 for linux
      • +
      +
    • +
    • A mar file to test for the Destination version on the target platform
        +
      • thunderbird-69.0b1.complete.mar
      • +
      +
    • +
    +

    Make sure that all of these packages are for the same locale.

    +

    Unpack

    +
      +
    • Unpack the test machine package. If you're on Linux it will unpack into a directory named "thunderbird"
        +
      • tar xvf thunderbird-68.0b4.tar.bz2
      • +
      +
    • +
    • Create start and destination directories
        +
      • mkdir start destination
      • +
      +
    • +
    • Unpack the Start version inro start, Destination version in destination
        +
      • ( cd start; 7z x "../Thunderbird 68.0b4.dmg" )
      • +
      • ( cd destination; 7z x "../Thunderbird 69.0b1.dmg" )
      • +
      +
    • +
    • +

      macOSX only Mangling

      +
        +
      • +

        ( cd start + mv "Thunderbird/Thunderbird.app" . + rm -rf Thunderbird + cp Thunderbird.app/Contents/Resources/{update-settings.ini,precomplete} Thunderbird.app/ )

        +
      • +
      • +

        ( cd destination + mv "Thunderbird/Thunderbird.app" . + rm -rf Thunderbird )

        +
      • +
      +
    • +
    +

    Run updater

    +
      +
    • Make sure you are in the top of your directory structure, you should see three directories: thunderbird, start, destination, and your downloaded files.
    • +
    • Set some variables
        +
      • updater=$(realpath thunderbird/updater)
      • +
      • update=$(realpath thunderbird/update)
      • +
      +
    • +
    • Copy mar file into update directory
        +
      • cp thunderbird-69.0b1.complete.mar "$update/update.mar"
      • +
      +
    • +
    • Run update program
        +
      • pushd start/Thunderbird.app
      • +
      • Yes,. run it just like this. It's sort of a silly program to run from the commandline.
      • +
      • `"$updater" "$update" $(pwd) $(pwd) 0``
      • +
      • popd
      • +
      +
    • +
    • View log file. Look for errors.
        +
      • less "${update}/update.log"
      • +
      +
    • +
    • +macOSX only Undo Mangling
        +
      • rm -f start/Thunderbird.app/{update-settings.ini,precomplete}
      • +
      +
    • +
    +

    Compare Start to Destination

    +
      +
    • Run compare-directories.py
        +
      • python compare-directories.py --verbose start/Thunderbird.app destination/Thunderbird.app beta-localtest
      • +
      +
    • +
    • You will get output indicating anything that is different.
    • +
    +
    Comparing start/Thunderbird.app with destination/Thunderbird.app...
    +Files only in start/Thunderbird.app:
    +  Contents/Library/Spotlight/thunderbird.mdimporter/Contents/_CodeSignature/._CodeResources
    +
    + +

    Analysis

    +

    In the macOS UV example here, we find that there is an extraneous file left behind during the update process due to a code signing bug in a previous version. In this case the updater needs to be told to look for and remove that extra file if it exists which should fix this issue.

    +
    + +
    +
    +
    +
    +
    + + + + diff --git a/documentation/releng/manually_verify_updates/index.md b/documentation/releng/manually_verify_updates/index.md new file mode 100644 index 0000000..02034ae --- /dev/null +++ b/documentation/releng/manually_verify_updates/index.md @@ -0,0 +1,82 @@ +title: Manually Verify Updates +slug: manually_verify_updates +date: 2024-03-20 19:36:59 UTC +type: text +author: Rob Lemley + +Occasionally the Update Verify jobs fail, and it might be useful to test the process yourself. + +## Requirements + +* A machine to run the update on. In CI this happens on Linux +* Python (2.7 is still in use) +* A copy of "compare-directories.py" from a M-C checkout. + * *M-C:tools/update-verify/release/compare-directories.py* +* Starting version package on the test machine (Linux) + * thunderbird-68.0b4.tar.bz2 +* Starting version package for the target platform: + * Thunderbird 68.0b4.dmg for macOS + * Thunderbird Setup 68.0b4.exe for windows + * thunderbird-68.0b4.tar.bz2 for linux +* Destination version package for the target platform: + * Thunderbird 69.0b1.dmg for macOS + * Thunderbird Setup 68.0b1.exe for windows + * thunderbird-69.0b1.tar.bz2 for linux +* A mar file to test for the Destination version on the target platform + * thunderbird-69.0b1.complete.mar + +Make sure that all of these packages are for the same locale. + +## Unpack + +* Unpack the test machine package. If you're on Linux it will unpack into a directory named "thunderbird" + * `tar xvf thunderbird-68.0b4.tar.bz2` +* Create start and destination directories + * `mkdir start destination` +* Unpack the Start version inro start, Destination version in destination + * `( cd start; 7z x "../Thunderbird 68.0b4.dmg" )` + * `( cd destination; 7z x "../Thunderbird 69.0b1.dmg" )` +* **macOSX only** Mangling + * `( cd start + mv "Thunderbird/Thunderbird.app" . + rm -rf Thunderbird + cp Thunderbird.app/Contents/Resources/{update-settings.ini,precomplete} Thunderbird.app/ )` + + * `( cd destination + mv "Thunderbird/Thunderbird.app" . + rm -rf Thunderbird )` + + +## Run updater + +* Make sure you are in the top of your directory structure, you should see three directories: *thunderbird*, *start*, *destination*, and your downloaded files. +* Set some variables + * `updater=$(realpath thunderbird/updater)` + * `update=$(realpath thunderbird/update)` +* Copy mar file into update directory + * `cp thunderbird-69.0b1.complete.mar "$update/update.mar"` +* Run update program + * `pushd start/Thunderbird.app` + * Yes,. run it just like this. It's sort of a silly program to run from the commandline. + * `"$updater" "$update" $(pwd) $(pwd) 0`` + * `popd` +* View log file. Look for errors. + * `less "${update}/update.log"` +* **macOSX only** Undo Mangling + * `rm -f start/Thunderbird.app/{update-settings.ini,precomplete}` + +## Compare Start to Destination + +* Run compare-directories.py + * `python compare-directories.py --verbose start/Thunderbird.app destination/Thunderbird.app beta-localtest` +* You will get output indicating anything that is different. + +``` +Comparing start/Thunderbird.app with destination/Thunderbird.app... +Files only in start/Thunderbird.app: + Contents/Library/Spotlight/thunderbird.mdimporter/Contents/_CodeSignature/._CodeResources +``` + +## Analysis + +In the macOS UV example here, we find that there is an extraneous file left behind during the update process due to a code signing bug in a previous version. In this case the updater needs to be told to look for and remove that extra file if it exists which should fix this issue. diff --git a/documentation/tools/index.html b/documentation/tools/index.html index 2dfe6ca..a265b41 100644 --- a/documentation/tools/index.html +++ b/documentation/tools/index.html @@ -53,6 +53,9 @@
  • +Release Engineering +
  • +
  • Are We ESMified Yet? diff --git a/sitemap.xml b/sitemap.xml index 6a60f5f..275e644 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -19,7 +19,7 @@ https://jfx2006.github.io/thunderbird-release/documentation/ - 2022-09-19T16:31:00Z + 2024-03-20T19:37:00Z https://jfx2006.github.io/thunderbird-release/documentation/developers/ @@ -45,6 +45,14 @@ https://jfx2006.github.io/thunderbird-release/documentation/drivers/releasenotes/ 2022-09-19T16:31:00Z + + https://jfx2006.github.io/thunderbird-release/documentation/releng/ + 2024-03-20T19:37:00Z + + + https://jfx2006.github.io/thunderbird-release/documentation/releng/manually_verify_updates/ + 2024-03-20T19:37:00Z + https://jfx2006.github.io/thunderbird-release/documentation/tools/ 2022-09-19T16:31:00Z diff --git a/sitemapindex.xml b/sitemapindex.xml index 1dcd887..01be93a 100644 --- a/sitemapindex.xml +++ b/sitemapindex.xml @@ -7,6 +7,6 @@ http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"> https://jfx2006.github.io/thunderbird-release/sitemap.xml - 2023-12-08T19:04:00Z + 2024-03-20T19:37:00Z \ No newline at end of file diff --git a/tools/buglist/index.html b/tools/buglist/index.html index 5f3130c..4a5a5c2 100644 --- a/tools/buglist/index.html +++ b/tools/buglist/index.html @@ -47,6 +47,9 @@
  • +Release Engineering +
  • +
  • Are We ESMified Yet? diff --git a/tools/index.html b/tools/index.html index 29ffcf6..2a3b17c 100644 --- a/tools/index.html +++ b/tools/index.html @@ -58,6 +58,9 @@
  • +Release Engineering +
  • +
  • Are We ESMified Yet?