Bug 1845017 - Disable the TestPHCExhaustion test r=glandium
[gecko.git] / tools / update-verify / README.md
blob14eb2a5f9aa9582c971fbda7d227cba74f379f03
1 Mozilla Build Verification Scripts
2 ==================================
4 Contents
5 --------
7 updates -> AUS and update verification
9 l10n -> l10n vs. en-US verification
11 common -> useful utility scripts
13 Update Verification
14 -------------------
16 `verify.sh`
18 >  Does a low-level check of all advertised MAR files. Expects to have a
19 >  file named all-locales, but does not (yet) handle platform exceptions, so
20 >  these should be removed from the locales file.
22 >  Prints errors on both STDOUT and STDIN, the intention is to run the
23 >  script with STDOUT redirected to an output log. If there is not output
24 >  on the console and an exit code of 0 then all tests pass; otherwise one
25 >  or more tests failed.
27 >  Does the following:
29 >  1) download update.xml from AUS for a particular release
30 >  2) download the partial and full mar advertised
31 >  3) check that the partial and full match the advertised size and sha1sum
32 >  4) downloads the latest release, and an older release
33 >  5) applies MAR to the older release, and compares the two releases.
35 >  Step 5 is repeated for both the complete and partial MAR.
37 >  Expects to have an updates.cfg file, describing all releases to try updating
38 >  from.
40 Valid Platforms for AUS
41 -----------------------
42 - Linux_x86-gcc3
43 - Darwin_Universal-gcc3
44 - Linux_x86-gcc3
45 - WINNT_x86-msvc
46 - Darwin_ppc-gcc3
48 ---
49 Running it locally
50 ==================
52 Requirements:
53 -------------
55 - [Docker](https://docs.docker.com/get-docker/)
56 - [optional | Mac] zstd (`brew install zst`)
58 Docker Image
59 ------------
61 1. [Ship-it](https://shipit.mozilla-releng.net/recent) holds the latest builds.
62 1. Clicking on "Ship task" of latest build will open the task group in
63 Taskcluster.
64 1. On the "Name contains" lookup box, search for `release-update-verify-firefox`
65 and open a `update-verify` task
66 1. Make note of the `CHANNEL` under Payload. ie: `beta-localtest`
67 1. Click "See more" under Task Details and open the `docker-image-update-verify`
68 task.
70 Download the image artifact from *docker-image-update-verify* task and load it
71 manually
72 ```
73 zstd -d image.tar.zst
74 docker image load -i image.tar
75 ```
77 **OR**
79 Load docker image using mach and a task
80 ```
81 # Replace TASK-ID with the ID of a docker-image-update-verify task
82 ./mach taskcluster-load-image --task-id=<TASK-ID>
83 ```
85 Update Verify Config
86 --------------------
88 1. Open Taskcluster Task Group
89 1. Search for `update-verify-config` and open the task
90 1. Under Artifacts, download `update-verify.cfg` file
92 Run Docker
93 ----------
95 To run the container interactively:
96 > Replace `<MOZ DIRECTORY>` with gecko repository path on local host <br />
97 > Replace `<UVC PATH>` with path to `update-verify.cfg` file on local host.
98 ie.: `~/Downloads/update-verify.cfg`
99 > Replace `<CHANNEL>` with value from `update-verify` task (Docker steps)
102 docker run \
103   -it \
104   --rm \
105   -e CHANNEL=beta-localtest \
106   -e MOZ_FETCHES_DIR=/builds/worker/fetches \
107   -e MOZBUILD_STATE_PATH=/builds/worker/.mozbuild \
108   -v <UVC PATH>:/builds/worker/fetches/update-verify.cfg
109   -v <MOZ DIRECTORY>:/builds/worker/checkouts/gecko \
110   -w /builds/worker/checkouts/gecko \
111   update-verify
113 > Note that `MOZ_FETCHES_DIR` here is different from what is used in production.
115 `total-chunks` and `this-chunk` refer to the number of lines in `update-verify.cfg`
117 ./tools/update-verify/scripts/chunked-verify.sh --total-chunks=228 --this-chunk=4