diff --git a/AGENTS.md b/AGENTS.md index 959082b..31c35dd 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -25,7 +25,7 @@ uv run pytest . # full suite; coverage is auto-applied via pytest.ini uv run ruff format # format (not gated by CI) uv run pytest bot_test.py::test_release -x # single test -uv run python3 bot_local.py micromasters-eng release 4.5.6 # drive Doof from a shell +uv run python3 bot_local.py product-mitx-online release 4.5.6 # drive Doof from a shell ``` Never use `pip`, `poetry`, or a hand-rolled venv - always `uv`. Run everything through diff --git a/README.md b/README.md index 6acad9b..4039a3a 100644 --- a/README.md +++ b/README.md @@ -33,8 +33,8 @@ Our bot Doof helps manage the release process by automating most parts of it and knows when a release is happening and what state it's in. Some Doof commands need to be run in a specific Slack channel. Doof ties each Slack channel to a project -(see `repos_info.json`). If you type `@doof release 1.2.3` in the `#micromasters-eng` channel it will do a release -for the micromasters project. +(see `repos_info.json`). If you type `@doof release 1.2.3` in the `#product-mitx-online` channel it will do a release +for the mitxonline project. Other Doof commands can be run in any channel. If you want to run a command but don't want to clutter the channel chat, you can communicate directly with Doof with a direct message. @@ -86,8 +86,8 @@ If Slack is down you may need to run releases from a shell using `bot_local.py`. - Install dependencies with `uv sync` (see [Dependencies](#dependencies) below). - Set environment variables listed above. Until we make environment variable checks more fine grained it is probably easiest to fill in fake values for the values you don't need. - - Start a release: `uv run python3 bot_local.py micromasters-eng release 4.5.6` for example. - - Merge the release: `uv run python3 bot_local.py micromasters-eng finish release`. + - Start a release: `uv run python3 bot_local.py product-mitx-online release 4.5.6` for example. + - Merge the release: `uv run python3 bot_local.py product-mitx-online finish release`. Note that Doof and `bot_local.py` use temporary directories for all releases so none of your work in progress will be affected or will affect the release. @@ -117,7 +117,7 @@ that environment, for example: uv run pytest . uv run ruff check - uv run python3 bot_local.py micromasters-eng release 4.5.6 + uv run python3 bot_local.py product-mitx-online release 4.5.6 #### Javascript libraries Make sure you have `npm` installed, then install any dependencies: diff --git a/repos_info.json b/repos_info.json index 03238f3..1ab2a8c 100644 --- a/repos_info.json +++ b/repos_info.json @@ -1,27 +1,5 @@ { "repos": [ - { - "name": "micromasters", - "repo_url": "https://github.com/mitodl/micromasters.git", - "ci_hash_url": "https://micromasters-ci.odl.mit.edu/static/hash.txt", - "rc_hash_url": "https://micromasters-rc.odl.mit.edu/static/hash.txt", - "prod_hash_url": "https://micromasters.mit.edu/static/hash.txt", - "channel_name": "product-micromasters", - "project_type": "web_application", - "web_application_type": "django", - "versioning_strategy": "file" - }, - { - "name": "bootcamp-ecommerce", - "repo_url": "https://github.com/mitodl/bootcamp-ecommerce.git", - "ci_hash_url": "https://bootcamp-ci.odl.mit.edu/static/hash.txt", - "rc_hash_url": "https://bootcamp-rc.odl.mit.edu/static/hash.txt", - "prod_hash_url": "https://bootcamp.odl.mit.edu/static/hash.txt", - "channel_name": "product-bootcamps", - "project_type": "web_application", - "web_application_type": "django", - "versioning_strategy": "python" - }, { "name": "open-discussions", "repo_url": "https://github.com/mitodl/open-discussions.git", diff --git a/test_util.py b/test_util.py index fc1eaca..eefc577 100644 --- a/test_util.py +++ b/test_util.py @@ -36,6 +36,9 @@ def make_test_repo(): """ with TemporaryDirectory() as directory: sync_check_call(["git", "init", "--quiet"], cwd=directory) + # git commit spawns a detached `git maintenance run --auto` which can still be + # writing to .git when TemporaryDirectory cleans up, failing teardown + sync_check_call(["git", "config", "maintenance.auto", "false"], cwd=directory) with gzip.open( os.path.join(SCRIPT_DIR, "test-repo.gz"), "rb" ) as test_repo_file: