Skip to content

chore: start 0.7.0.dev0; run CI only when there is something new to test - #155

Merged
DLANSAMA merged 2 commits into
mainfrom
chore/dev-0.7.0
Nov 6, 2026
Merged

DLANSAMA merged 2 commits into
mainfrom
chore/dev-0.7.0

Conversation

@DLANSAMA

@DLANSAMA DLANSAMA commented Nov 6, 2026

Copy link
Copy Markdown
Owner

This PR has two commits.

1. Start 0.7.0.dev0 (docs/releasing.md step 6)

0.6.0 is published. The tag v0.6.0 points at b0ef746, and release.yml passed every step: the CI matrix, the build, the PyPI publish, and the GitHub Release.

I installed it from PyPI in clean Python 3.12 venvs:

  • platecli==0.6.0 and platecli[tui]==0.6.0 (with textual 8.2.8) both installed.
  • In both, plate --version printed plate 0.6.0 and plate --sim status exited 0.

Main now goes back to 0.7.0.dev0, so a source checkout never reports itself as the release.

Plan changes:

  • L-2 (cut 0.6.0) and D-3 are retired.
  • D-3's naming ruling goes in the new docs/plan/settled.md. "Bambu" is fine wherever it describes the printers (keywords, "for Bambu Lab printers"). It never goes in the product's name, "unofficial" or not.

2. Run CI only when there is something new to test

The repo is public, so its hosted runners aren't billed. Most runs were still repeats:

  • 14 of the last 15 nightly mutation runs tested the same commit.
  • Each merge re-ran the full matrix on files the PR had just passed.

What changes:

CONTRIBUTING.md gains a "Pull requests and CI" section. The README, docs/mutation-baseline.md and docs/releasing.md now describe the new behaviour.

Checked

  • actionlint passes on all three workflows.
  • ci_workflow_smoke and release_readiness_smoke pass.
  • Full local gates on the version bump: ruff, ruff format, mypy, bandit, all smokes, build and package smoke, twine check, and 2217 tests at 93.53% coverage.
  • An independent review of the workflow change found two problems, both fixed here:
    • Lint was being skipped on drafts.
    • The tree comparison could treat two failed lookups as "equal".

This PR was opened as a draft, so its own first run tests the draft path. Marking it ready tests the full matrix.

Main goes back to a .dev version so a source checkout never reports itself as the release (docs/releasing.md step 6). The plan retires L-2 (0.6.0 is published and install-checked from PyPI) and D-3, and the naming ruling goes in the new docs/plan/settled.md: "Bambu" is fine when describing the printers and never goes in the product's name.
Draft PRs skip the test matrix until marked ready; lint still runs on drafts, since a skipped required check reports success under its own name. A push to main skips test and lint when the squash merge's tree is identical to the PR head that passed the required checks. Only branch pushes are checked, so the release gate (a tag push calling this workflow) always runs. The nightly mutation run is skipped when main's commit already has a green baseline. Every error path falls through to running.
@DLANSAMA
DLANSAMA marked this pull request as ready for review November 6, 2026 21:18
@DLANSAMA
DLANSAMA merged commit dd4c78b into main Nov 6, 2026
10 checks passed
@DLANSAMA
DLANSAMA deleted the chore/dev-0.7.0 branch November 6, 2026 21:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant