Tags and releases are the owner's call; no repo document tells him when to tag. Model: opus-5-5
47 lines
2.1 KiB
Markdown
47 lines
2.1 KiB
Markdown
# Workflow
|
|
|
|
- `git pull` `next` and cut a branch from it — one branch per issue, named
|
|
`issue-<N>-<slug>`. Never branch from `main`.
|
|
- Do the work as one commit whose title ends with ` (closes #N)`.
|
|
- Record no finished work in this file. What landed is recorded on the tracker
|
|
and in `git log`, where each commit title names the issue it closes.
|
|
- Run `make fmt`, then `make check`. A feature branch may be red; `next` and
|
|
`main` may not.
|
|
- Rebase onto current `next` immediately before pushing — other branches land on
|
|
`next` continuously — and re-run `make check` after resolving, because a clean
|
|
textual merge can still break the build.
|
|
- Push the branch and open one PR per issue with base `next`. Never base `main`.
|
|
- An independent reviewer who did not write the change gates the merge. On a
|
|
passed review the PR is squash-merged into `next`.
|
|
- `next` is the branch for the next milestone. It is kept green and mergeable to
|
|
`main` at any moment, without notice.
|
|
- `main` receives exactly one PR per milestone, from `next`. Releases are tagged
|
|
from `main`.
|
|
|
|
# Status
|
|
|
|
pre-1.0, working towards the 1.0.0 milestone. The milestone is in flight on
|
|
`next`; its `next` -> `main` PR is
|
|
[#388](https://git.eeqj.de/sneak/AutistMask/pulls/388). `make build` produces
|
|
`dist/chrome/` and `dist/firefox/` with `DEBUG` compiled off, and checks them
|
|
against the build's own receipt to hold exactly the regular files and symlinks
|
|
that build emitted.
|
|
|
|
The backlog lives on the
|
|
[Gitea tracker](https://git.eeqj.de/sneak/AutistMask/issues), which is
|
|
authoritative; this file does not duplicate it. Full policy file set present.
|
|
Real-browser end-to-end suites (`make test-e2e` for Chrome,
|
|
`make test-e2e-firefox` for Firefox) sit alongside `make check`, which runs the
|
|
tests, static analysis and the formatting check, and `.gitea/workflows/e2e.yml`
|
|
runs both of them on every push.
|
|
|
|
# Next Step
|
|
|
|
The open issues on the
|
|
[1.0.0 milestone](https://git.eeqj.de/sneak/AutistMask/milestone/6).
|
|
|
|
# Future Steps
|
|
|
|
Only work that has no issue of its own belongs here; everything else is on the
|
|
tracker.
|