- Dec 19, 2024
-
-
Stoyofuku-wmf authored
Following a conversation with Steph, Jon, Tyler, and Nat, we're going to put in place a reserved window for web to do backport deploys and config changes outside the band of the typical backport window, as we've been having issues finding deployers. This is somewhat intended to be temporary, as hopefully the soon forthcoming deploy UI will make this no longer necessary, but for the time being let's enable we deploys! Note that the time is not consistent across days due to availability on the calendar, and I left a note as discussed informing people that this will be skipped regularly. Please let me know if there's any other information I can provide here to be helpful!! Bug: T381541
-
- Dec 16, 2024
-
-
* Allow running MediaWiki dumps from the debug image We need to have a MediaWiki image with a few added software (notably: python) and a checkout of the git repository for dumps. Given the total size change is below 200 MB, I've decided to add all this to the debug image. As a caveat: done this way, the multi-stage image will depend on access to gerrit, which might be problematic in general. If we think that's a problem, of course, we can provide the image for dumps by other means. Bug: T381473
-
- Nov 26, 2024
-
-
Hashar authored
Support for converting old branches to tag was introduced back in 2021 by c3f8dc8e for T250095. I ran it to delete the REL1_19 branch but but created tags pointing to the HEAD of the repository. The reason is the TagInfo that is put to the server must be passed using the "json" keyword argument. I suspect we never ran the conversion. T250095 was aiming at removing the wmf branches which we remove using `scap clean` (T303828). This change will let us remove the old legacy REL* branches (T380841). Bug: T250095 Bug: T380841
-
Hashar authored
I am too lazy to setup a Gerrit instance locally that matches production. This add a "test" bundle which solely has the "test/gerrit-ping" repository. Example usage: $ ./branch.py --delete --abandon --bundle test REL1_19 Created https://gerrit.wikimedia.org/g/test/gerrit-ping/+/refs/tags/REL1_19 [ebdc5b946fa15ed9e8cfcbe69c568e7ee5a244f6] Deleting branch REL1_19 in test/gerrit-ping
-
- Nov 24, 2024
-
-
* make-release: Stop branching LdapAuthentication for production Bug: T371592
-
- Nov 19, 2024
-
-
Ahmon Dancy authored
Remove support for supplying parameters via environment variable. It is no longer used by scap. Change-Id: I1ba37f38604c6d52fc0961098ee995c75b7e0561
-
- Nov 05, 2024
-
-
Perform each image build in a separate thread. Introduced a base `app.App` class to standardize the creation of logger instances and the logging of `check_call` output to each application logger. Implemented `app.ThreadedApp` that manages threading and separate instances of a main application class. It provides a `run` method that dispatches separate threads, creating a new application instance for each thread to avoid pitfalls with `self` mutation (note I couldn't find a current mutation but this is meant as a safeguard). A separate logger is also created for each call to `run` to nicely prefix log messages and subprocess output. Writes to the shared report dict object are performed only after acquiring the `app.ThreadedApp` mutex. Bug: T370934 Change-Id: I7ac59fba727be1a1b475e1d614c251c31743804e
-
Define multiple "flavours" of mediawiki and webserver images and map each flavour name to a set of Docker build arguments. The currently defined flavours specify different versions of PHP to be used for MediaWiki images. Iterate over the flavours when building images and pass each set of build arguments to `docker_build`. Key the state and report file names by flavour to avoid collision. Include entries in the report JSON files for each built flavour as well as backwards compatible entries for the last flavour built. The latter may be removed once scap is refactored to support flavours. For now, the available flavours and build argument mappings are predefined/hardcoded as constants. Since flavours are not likely to change often, this seems acceptable. If `build-images.py` is integrated into scap in the future, that would be a good time to adopt something more configuration, perhaps simply another scap configuration item. Bug: T370934 Change-Id: I7a7cb65064985b5b568d248ba63089ba6b208b7d
-
- Oct 31, 2024
-
-
Ahmon Dancy authored
Change-Id: Ia5cd1e221c7d9a54fcc9b4084f10d3a3cb1d8828
-
- Oct 29, 2024
-
-
* Wikilink to deployment directions in the calendar
-
Ahmon Dancy authored
Don't merge unless there is plenty of time for a full image build deployment. A good time would be an hour before the weekly trian presync. Change-Id: Iafd7d5a012072938bc2f3b1bcf341532bd1bd52c
-
- Oct 22, 2024
-
-
Dduvall authored
Support a long-lived moving tag other than "latest". Change-Id: I8abc99a0244237441aec530d922c22894ca3bc87
-
Ahmon Dancy authored
Check for the case where the rsync to the default base image doesn't result any files copied. This indicates that the source directory is not right. Change-Id: I9d608c4f8b0d80fa4030d979cabe33f4547936d0
-
Ahmon Dancy authored
Change-Id: I2ea3cdfab0f1aae2f3db91fce602f859f9c801f5
-
- Oct 18, 2024
- Oct 09, 2024
-
-
* Update deployments-calendar.yaml; Move myself to UTC morning window
-
- Oct 06, 2024
-
-
Reedy authored
-
- Oct 05, 2024
- Sep 10, 2024
-
-
Dduvall authored
Instead of setting up environment variables for unbuffered Python output and TrainBranchBot git author/committer here, let the Jenkins jobs set these variables as appropriate. Depends-On: jenkins-deploy!77 Change-Id: I9bae365b74ebc6b452947cf13908d0274eecacd6
-
- Sep 06, 2024
-
-
Dduvall authored
When waiting for the mediawiki/core change to merge, requests are made to Gerrit every 5 seconds for up to an hour. Prior to this change, one request failure would cause the entire process to fail. To achieve a more fault tolerant polling process, allow consecutive request failures for up to a shorter timeout of 1 minute, and reset the failure timeout upon any successful request. Change-Id: I2cc5e8aadc0c5f1c86ef2243435d96590229db67
-
- Sep 05, 2024
-
-
The `branch.py` script will now set up a credential helper for git operations that reuses the resolved Gerrit API credentials (from either the username/password in the config or via `requests` netrc resolution which will considered the standard `NETRC` environment variable). This obviates the need to set up a `.netrc` file in the home directory. Bug: T373441 Change-Id: I60c90f33e3a2d82df11b953131508fbbec47d477
-
- Sep 04, 2024
-
-
Ahmon Dancy authored
`do_core_work()`: Previously mediawiki/core's `master` branch would be checked out, then we'd make a local `wmf/<branch>` branch from there. Now the remove `wmf/<branch>` is checked out immediately. Noted a bug in the "Remove all existing submodules" section of the code. That section should probably be removed entirely. Made a few tweaks to make the function idempotent (i.e., re-runnable without bad behavior). Bug: T373709 Change-Id: I00bd8c5596ebae6192cf2e853fd07f4d775d0c2b
-
- Sep 03, 2024
-
-
Dduvall authored
Prior to this change, the Gerrit API client resolved its credentials one way (either via username/password in the configuration file or `requests` netrc resolution) and `git` operations were left to resolve credentials independently via their own default behavior. Ensure `git` operations use the same credentials that are resolved for the Gerrit API by configuring a credential helper for all newly cloned repos. The `clone()` function will now yield a `git()` function that will set an environment variable with the password for all underlying `git` commands. Bug: T373441 Change-Id: I455b614e6c75ff4d50a2eb99d83837cb02160021
-
- Aug 30, 2024
-
-
Ahmon Dancy authored
Reduce the likelihood of leaked `/tmp/mw-branching-*` dirs by using a proper temp directory context manager. Change-Id: I4f8a218a7d9101eff851a5c0619eb16a62ea55ad
-
- Aug 29, 2024
-
-
Ahmon Dancy authored
With recent versions of scap the history log follows the staging directory by default so it is no longer necessary to set `history_log`. Change-Id: Ib3ee38a37906dd08a9b8255b7ff00c3406905e20
-
- Aug 27, 2024
-
-
Dduvall authored
Since use of `SSH_AUTH_SOCK` is not strictly necessary in all environments, `branch.py` should not enforce it. Change-Id: Ice9e8647a9d3ed598470de4d7b6df7833088ead1
-
- Aug 19, 2024
-
-
Ahmon Dancy authored
Instead of choosing and reading the wikiversions.json file in build-images.py, rely on the caller (scap) to supply the list of desired MediaWiki versions to include. The corresponding change to Scap is scap!405 Bug: T371904 Change-Id: I075f687aee7968b467b0420adcd996af25d84dc9
-
* [WIP] Add CommunityRequests to wmf_core Bug: T372527
-