Skip to content
  1. Dec 19, 2024
    • Stoyofuku-wmf's avatar
      Add Web Team Deploy window · 05912262
      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
      05912262
  2. Dec 16, 2024
    • Giuseppe Lavagetto's avatar
      Allow running MediaWiki dumps from the debug image · e0716836
      Giuseppe Lavagetto authored and Ahmon Dancy's avatar Ahmon Dancy committed
      * 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
      e0716836
  3. Nov 26, 2024
  4. Nov 24, 2024
  5. Nov 19, 2024
  6. Nov 05, 2024
    • Dduvall's avatar
      make-container-image: Parallelize image builds · a5694bcb
      Dduvall authored and Dduvall's avatar Dduvall committed
      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
      a5694bcb
    • Dduvall's avatar
      build-images.py: Use sha256 digests as base image refs · 97b7576a
      Dduvall authored and Dduvall's avatar Dduvall committed
      Since the base images are only used internally and never pushed, we can
      use the immutable sha256 digests of the base images instead of
      referencing mutable tags.
      
      Change-Id: Id0c7f39b46f487a51dfb697c1012fd3fd5f2ea92
      97b7576a
    • Dduvall's avatar
      build-images.py: Build multiple flavours of each image · 52c53365
      Dduvall authored and Dduvall's avatar Dduvall committed
      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
      52c53365
  7. Oct 31, 2024
  8. Oct 29, 2024
  9. Oct 22, 2024
  10. Oct 18, 2024
  11. Oct 09, 2024
  12. Oct 06, 2024
  13. Oct 05, 2024
  14. Sep 10, 2024
  15. Sep 06, 2024
    • Dduvall's avatar
      branch.py: Tolerate intermittent request failure during Gerrit polling · 672535cc
      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
      672535cc
  16. Sep 05, 2024
    • Dduvall's avatar
      automatic-branch-cut: Remove check for `netrc_file` environment variable · 613b6766
      Dduvall authored and Dduvall's avatar Dduvall committed
      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
      613b6766
  17. Sep 04, 2024
    • Ahmon Dancy's avatar
      branch.py: Always check out the remote wmf/<branch> · d3c683f7
      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
      d3c683f7
    • Dduvall's avatar
      branch.py: Add missing return in yielded git_with_env · ded6b53d
      Dduvall authored
      Fixes missing return bug introduced by
      c28b3939
      
      Bug: T373441
      Change-Id: Ie1842a30a120b4687f6788b1a8e3db10eb1ac5f8
      ded6b53d
  18. Sep 03, 2024
    • Dduvall's avatar
      make-release: Use the same credentials for Gerrit API and Git operations · c28b3939
      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
      c28b3939
  19. Aug 30, 2024
  20. Aug 29, 2024
  21. Aug 27, 2024
    • Dduvall's avatar
      make-release: Remove `SSH_AUTH_SOCK` check · fece7ff7
      Dduvall authored
      Since use of `SSH_AUTH_SOCK` is not strictly necessary in all
      environments, `branch.py` should not enforce it.
      
      Change-Id: Ice9e8647a9d3ed598470de4d7b6df7833088ead1
      fece7ff7
  22. Aug 19, 2024