Compare commits
2 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
be0af8d0f0 | ||
|
|
e910cf8faa |
2 changed files with 31 additions and 1 deletions
13
CLAUDE.md
13
CLAUDE.md
|
|
@ -112,14 +112,25 @@ Users install/upgrade on their own machine with
|
|||
- **Assert on table output with regexes, not fixed-width strings.** Column
|
||||
widths depend on the longest ref in the fixture and package_ids change
|
||||
whenever a fixture recipe's requirements change (`semver_direct_mode`).
|
||||
Use `re.search(r"libbar/1\.1\s+indirect\s+2", text)` and `[0-9a-f]{40}`
|
||||
Use `re.search(r"libbar/1\.1\s+libfoo\s+host", text)` and `[0-9a-f]{40}`
|
||||
for ids. Also: `_conan()` in the tests raises with Conan's full output on
|
||||
failure – read it before guessing.
|
||||
- **Use the `conan_env` fixture only for graph/remote behaviour.** Anything
|
||||
about rendering (`_via`, `_table`, `_tree_rows`, HTML) should be a
|
||||
fixture-free unit test on hand-built `Dep` objects, like
|
||||
`test_via_lists_every_parent_path` – instant, and no `conan_server`.
|
||||
- Dependencies: `uv.lock` is committed; regenerate with `./dev.sh uv lock`
|
||||
after changing `pyproject.toml`.
|
||||
- Commits: atomic, no `--amend`; run ruff + pytest + shellcheck before
|
||||
committing. Add a memory of anything a future session could not derive
|
||||
from the repository.
|
||||
- Releases: bump `version` in `pyproject.toml` (must match the tag), commit,
|
||||
then `git tag -a vX.Y.Z && git push origin vX.Y.Z`, build with
|
||||
`./dev.sh uv build` (writes `dist/`, gitignored), write `SHA256SUMS`, and
|
||||
`fj release create --tag vX.Y.Z --attach dist/<wheel> --attach dist/<sdist>
|
||||
--attach dist/SHA256SUMS --body "..." "vX.Y.Z"` from inside the repo –
|
||||
`fj release` does **not** accept `--repo`. Then update the "Latest:" line
|
||||
in the README's Releases section and delete `dist/`.
|
||||
|
||||
## Adding another tool
|
||||
|
||||
|
|
|
|||
19
README.md
19
README.md
|
|
@ -178,6 +178,25 @@ trace is a `WARN: <pkg>: requirement A overridden by B to C` line written while
|
|||
the graph is resolved. The tool captures Conan's output stream during graph
|
||||
construction and parses those lines. A test pins the message format.
|
||||
|
||||
## Releases
|
||||
|
||||
Tagged releases with a built wheel, source distribution and `SHA256SUMS` are
|
||||
published on the
|
||||
[releases page](https://kode.naiv.no/olemd/conan-1.6-utilities/releases).
|
||||
Latest: [v0.1.0](https://kode.naiv.no/olemd/conan-1.6-utilities/releases/tag/v0.1.0).
|
||||
|
||||
Install a specific release with
|
||||
|
||||
```bash
|
||||
uv tool install git+https://kode.naiv.no/olemd/conan-1.6-utilities.git@v0.1.0
|
||||
# or, from the downloaded wheel:
|
||||
uv tool install conan_utils-0.1.0-py3-none-any.whl
|
||||
```
|
||||
|
||||
To cut a release: bump `version` in `pyproject.toml`, push an annotated tag
|
||||
`vX.Y.Z`, build with `./dev.sh uv build`, and create the Forgejo release with
|
||||
the artifacts attached (`fj release create --tag vX.Y.Z --attach ...`).
|
||||
|
||||
## Development
|
||||
|
||||
Everything runs inside the `conan-utils-dev` container (Conan 1.66, Python
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue