Skip to content

Releases: lsst-sqre/mobu

11.0.0

06 Aug 21:52
f036372
Compare
Choose a tag to compare

Backwards-incompatible changes

  • Remove exclude_dirs option from NotebookRunner options, which means it can no longer be set in the autostart config. exclude_dirs must be set in an in-repo mobu.yaml config file.

New features

  • NotebookRunner business will skip notebooks in environments that do not have the services required for them to run. Required services ban be declared by adding metadata to a notebook.

  • Allow specification of log level for individual flocks

Bug fixes

  • Follow redirections by hand for hub logins as well as lab ones to get XSRF

What's Changed

  • DM-44635: Fix github refresh app docs by @fajpunk in #358
  • DM-45079: Move test data by @fajpunk in #360
  • DM-45709: Don't run notebooks in environments that don't have the necessary services by @fajpunk in #361
  • Do all notebook filtering in the business, not in the CI job by @fajpunk in #362
  • DM-45079: Execute only non-filtered notebooks when requesting explicit notebooks by @fajpunk in #363
  • DM-45079: Docs updates for service filtering by @fajpunk in #364
  • tickets/DM-45523: walk redirects for Lab manually, extracting xsrf along the way by @athornton in #365
  • Prepare release 11.0.0 by @athornton in #366

Full Changelog: 10.1.0...11.0.0

10.1.0

12 Jul 19:45
10.1.0
4acb529
Compare
Choose a tag to compare

Other changes

  • Use new safir with upstreamed GitHub model changes

What's Changed

  • DM-44635: Use new safir with upstreamed GitHub model changes by @fajpunk in #356
  • Prepare 10.1.0 release by @fajpunk in #357

Full Changelog: 10.0.0...10.1.0

10.0.0

11 Jul 22:39
b0823ba
Compare
Choose a tag to compare

Backwards-incompatible changes

  • GitHub CI and refresh app config are now each a separate, all-or-nothing set of config that comes from a mix of a yaml file and env vars. This requires some new and different Helm values in Phalanx (see https://mobu.lsst.io/operations/github_ci_app.html#add-phalanx-configuration)
  • The GitHub CI app now takes the scopes it assigns from config values, rather than hardcoding a list of scopes.

What's Changed

Full Changelog: 9.0.0...10.0.0

9.0.0

09 Jul 14:13
5ca7dc4
Compare
Choose a tag to compare

Backwards-incompatible changes

  • The existing refresh functionality is now a GitHub app integration (from a simple webhook integration). This requires new Phalanx secrets to be sync'd, and a new GitHub app to be added to repos that want the functionality.

New features

  • A GitHub app integration to generate GitHub actions checks for commits pushed to notebook repo branches that are part of active PRs. These checks trigger and report on a solitary Mobu run of the changed notebooks in the commit. Special care has been taken to not leave these checks in a forever-in-progress state, even in the case of (graceful) mobu shutdown/restart.

Other changes

  • Python 3.12.3 -> 3.12.4

What's Changed

Full Changelog: 8.1.0...9.0.0

8.1.0

30 May 21:30
f781a0a
Compare
Choose a tag to compare

New features

  • NotebookRunner flocks can now pick up changes to their notebooks without having to restart the whole mobu process. This refresh can happen via:
    • GitHub push webhook post to /mobu/github/webhook with changes to a repo and branch that matches the flock config
    • monkeyflocker refresh <flock>
    • POST to /mobu/flocks/{flock}/refresh

8.0.0

21 May 17:12
4e04dff
Compare
Choose a tag to compare

Backwards-incompatible changes

  • NotebookRunner business now runs all notebooks in a repo, at the root and in all subdirs recursively, by default.
  • Add exclude_dirs option to NotebookRunner business to list directories in which notebooks will not be run.

What's Changed

New Contributors

Full Changelog: 7.1.1...8.0.0

7.1.1

28 Mar 18:39
@rra rra
7.1.1
b20c313
Compare
Choose a tag to compare

Bug fixes

  • Correctly extract cookies from the middle of the redirect chain caused by initial authentication to a Nublado lab. This fixes failures seen with labs containing jupyterhub 4.1.3.

What's Changed

  • DM-43573: Handle cookies from JupyterLab redirects by @rra in #342
  • DM-43573: Prepare 7.1.1 release by @rra in #343

Full Changelog: 7.1.0...7.1.1

7.1.0

21 Mar 19:40
@rra rra
7.1.0
f1587b5
Compare
Choose a tag to compare

New features

  • Add GitLFSBusiness for testing Git LFS by storing and retrieving a Git LFS-managed artifact.

Bug fixes

  • Properly handle the XSRF tokens for JupyterHub and the Jupyter lab by storing separate tokens for the hub and lab after initial login and sending the appropriate XSRF token in the X-XSRFToken header to the relevant APIs. This fixes a redirect loop at the Jupyter lab when running 4.1.0 or later.

Other changes

  • mobu now uses uv to maintain frozen dependencies and set up a development environment.

What's Changed

  • Bump actions/setup-python from 4 to 5 by @dependabot in #326
  • Fix syntax in periodic CI by @rra in #327
  • Install pre-commit before calling autoupdate by @rra in #328
  • Update Python and pre-commit dependencies by @rra in #330
  • Update Python dependencies by @rra in #332
  • Update dependencies by @rra in #333
  • Update Python and pre-commit dependencies by @rra in #335
  • Bump python from 3.12.1-slim-bullseye to 3.12.2-slim-bullseye by @dependabot in #337
  • Bump pre-commit/action from 3.0.0 to 3.0.1 by @dependabot in #336
  • Update Python dependencies by @rra in #338
  • DM-43423: Fix XSRF cookie and header handling for JupyterLab by @rra in #340
  • tickets/DM:43203: add Git-LFS business by @athornton in #339
  • DM-43423: Prepare 7.1.0 release by @rra in #341

Full Changelog: 7.0.0...7.1.0

7.0.0

15 Dec 23:44
@rra rra
7.0.0
b0b8b72
Compare
Choose a tag to compare

Backwards-incompatible changes

  • Drop support for cachemachine and Nublado v2. The cachemachine_image_policy and use_cachemachine configuration options are no longer supported and should be deleted.
  • Rename the existing TAPQueryRunner business to TAPQuerySetRunner to more accurately capture what it does. Add a new TAPQueryRunner business that runs queries chosen randomly from a list. Based on work by @stvoutsin.
  • Rename JupyterPythonLoop to NubladoPythonLoop to make it explicit that it requires Nublado and will not work with an arbitrary JupyterHub.

New features

  • Convert all configuration options that took intervals in seconds to timedelta. Bare numbers will still be interpreted as a number of seconds, but any format Pydantic recognizes as a timedelta may now be used.

Other changes

  • All environment variables used to configure mobu now start with MOBU_, and several have changed their names. The new settings are MOBU_ALERT_HOOK, MOBU_AUTOSTART_PATH, MOBU_ENVIRONMENT_URL, MOBU_GAFAELFAWR_TOKEN, MOBU_NAME, MOBU_PATH_PREFIX, MOBU_LOGGING_PROFILE, and MOBU_LOG_LEVEL. This is handled by the Phalanx application, so no configuration changes should be required.

What's Changed

  • [neophile] Update dependencies by @neophile-square in #284
  • DM-39989: Update GitHub Actions and dependencies by @rra in #285
  • [neophile] Update dependencies by @neophile-square in #286
  • [neophile] Update dependencies by @neophile-square in #287
  • [neophile] Update dependencies by @neophile-square in #289
  • [neophile] Update dependencies by @neophile-square in #290
  • [neophile] Update dependencies by @neophile-square in #291
  • [neophile] Update dependencies by @neophile-square in #292
  • [neophile] Update dependencies by @neophile-square in #294
  • Bump actions/checkout from 3 to 4 by @dependabot in #295
  • Bump python from 3.11.4-slim-bullseye to 3.11.5-slim-bullseye by @dependabot in #293
  • [neophile] Update dependencies by @neophile-square in #297
  • [neophile] Update dependencies by @neophile-square in #298
  • Update Python dependencies by @rra in #300
  • [neophile] Update dependencies by @neophile-square in #301
  • [neophile] Update dependencies by @neophile-square in #303
  • [neophile] Update dependencies by @neophile-square in #305
  • [neophile] Update dependencies by @neophile-square in #306
  • [neophile] Update dependencies by @neophile-square in #307
  • [neophile] Update dependencies by @neophile-square in #308
  • [neophile] Update dependencies by @neophile-square in #309
  • [neophile] Update dependencies by @neophile-square in #311
  • DM-42182: Rename TAPQuerySetRunner, add new TAPQueryRunner by @rra in #312
  • DM-42182: Update Python dependencies by @rra in #313
  • DM-42182: Update to Pydantic v2 by @rra in #315
  • Bump python from 3.11.5-slim-bullseye to 3.12.1-slim-bullseye by @dependabot in #314
  • DM-42182: Update to Python 3.12 by @rra in #316
  • DM-42182: Switch to Ruff for reformatting by @rra in #317
  • DM-42182: Run pre-commit autoupdate with make update-deps by @rra in #318
  • DM-42182: Tell Click testing to not catch exceptions by @rra in #319
  • DM-42182: Use new Annotated syntax for handlers by @rra in #320
  • DM-42182: Simplify the Docker build by @rra in #321
  • DM-42182: Change some JupyterHub terminology to Nublado by @rra in #322
  • DM-42225: Drop support for cachemachine by @rra in #323
  • DM-42225: Convert intervals to timedeltas by @rra in #324
  • DM-42225: Prepare 7.0.0 release by @rra in #325

New Contributors

  • @neophile-square made their first contribution in #284

Full Changelog: 6.1.1...7.0.0

6.1.1

06 Jul 20:06
@rra rra
6.1.1
8d23bd0
Compare
Choose a tag to compare

Bug fixes

  • Rather than dumping the full monkey data when summarizing flocks, which can cause long enough delays that in-progress calls fail due to the huge amount of timing data, extract only the success and failure count from the running business. This should be considerably faster and avoid timeout problems.
  • Improve error reporting by catching exceptions thrown while sending code to the lab WebSocket for execution.

What's Changed

  • [neophile] Update dependencies by @sqrbot in #272
  • DM-39552: Ignore comm messages from the lab by @rra in #273
  • DM-39552: Catch exceptions while sending to the WebSocket by @rra in #274
  • [neophile] Update dependencies by @sqrbot in #275
  • Bump python from 3.11.3-slim-bullseye to 3.11.4-slim-bullseye by @dependabot in #276
  • DM-39552: Remove pytest-httpx dependency by @rra in #277
  • DM-39627: Run neophile from GitHub Actions by @rra in #278
  • [neophile] Update dependencies by @sqrbot in #279
  • Update frozen Python dependencies by @rra in #281
  • DM-39552: Generate less data when summarizing flocks by @rra in #282
  • DM-39552: Prepare release 6.1.1 by @rra in #283

Full Changelog: 6.1.0...6.1.1