Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -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:
Expand Down
22 changes: 0 additions & 22 deletions repos_info.json
Original file line number Diff line number Diff line change
@@ -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",
Expand Down
3 changes: 3 additions & 0 deletions test_util.py
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
Loading