Skip to content

[pull] master from clintmod:master - #1

Open
pull[bot] wants to merge 32 commits into
SijanC147:masterfrom
clintmod:master
Open

[pull] master from clintmod:master#1
pull[bot] wants to merge 32 commits into
SijanC147:masterfrom
clintmod:master

Conversation

@pull

@pull pull Bot commented Jul 16, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

clintmod added 17 commits July 16, 2026 09:53
…ld request payload with json.dumps, mock MACPREFS_TOKEN in tests
…ndencies, use python3 explicitly in Makefile
…tores, tolerate rsync partial transfers (#14 #6) and protected-file chown failures (#5)
…all #8), add GitHub Actions CI, update pylintrc for pylint 4
…ock replace requirements.txt, Ritefile replaces Makefile, CI uses mise + rite (#26)
Modernize dev tooling: mise + pyproject/uv + Ritefile
Finish Python 3 migration, fix restore robustness, modernize packaging
git mv only; no logic changes. Reference updates:
- pyproject.toml: pytest pythonpath=["src"], testpaths=["tests"]
- Ritefile.yml: --cov=src, pylint src/*.py tests/*.py, python src/publish.py
- macprefs.template.rb: libexec.install Dir["src/*"] (flatten keeps
  sibling imports working in the installed layout)
- ci/scripts/brew-build-test.sh: PYTHONPATH=src for the version import
- tests: execute_module paths now src/macprefs and src/publish.py
  (paths resolve relative to cwd, which is repo root under rite)
…der-using-in finding), document mise activation in README
CI: parallel test/lint/build/contrib jobs + brew package build check
Move code into src/ layout, tests into tests/
@pull pull Bot locked and limited conversation to collaborators Jul 16, 2026
@pull pull Bot added ⤵️ pull merge-conflict Resolve conflicts manually labels Jul 16, 2026
clintmod and others added 10 commits July 16, 2026 11:08
…k, actionlint, brew style/audit in build, dependabot (#31)
Wire up additional checks: coverage floor, ruff, pip-audit, shellcheck, actionlint, brew audit, dependabot
Bumps [jdx/mise-action](https://github.com/jdx/mise-action) from 2 to 4.
- [Release notes](https://github.com/jdx/mise-action/releases)
- [Changelog](https://github.com/jdx/mise-action/blob/main/CHANGELOG.md)
- [Commits](jdx/mise-action@v2...v4)

---
updated-dependencies:
- dependency-name: jdx/mise-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v4...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
…se-action-4

Bump jdx/mise-action from 2 to 4
…s/checkout-7

Bump actions/checkout from 4 to 7
…mat:check row, release-verify workflow (#35)

pyright found a real bug: get_home_dir crashed with TypeError when HOME
was unset (now a clear KeyError), and execute_module relied on pytest
having already imported importlib.util/machinery.
clintmod added 5 commits July 16, 2026 11:57
…, zizmor + SHA-pinned actions + least-privilege permissions, codeql, tag/version gate in release-verify (#37)

branch coverage exposed untested selective backup/restore paths (tests
added), and the new selective tests exposed swapped mock parameter names
in the legacy test_backup/test_restore signatures (decorators inject
bottom-up) - fixed
Port git-auto-merge check set + bandit + post-release install verification
Parity round 2: lock:check, test hardening, workflow security, CodeQL, tag gate
…ns (#39)

Every tool configured in pyproject.toml (uv, pytest, ruff, pylint,
pyright, coverage, gitleaks) also discovers standalone config files that
silently win over the [tool.*] sections -- uv.toml ignores [tool.uv]
with no warning, an empty pytest.ini shadows [tool.pytest.ini_options],
and a ruff.toml in a subdirectory replaces the root lint rules for that
subtree.

Add ci/scripts/check-config-shadowing.py, a manifest-driven guard that
fails if any of the 16 shadowing filenames exist anywhere in the tree
(tracked or untracked-unignored, so a stray local file fails rite check
before it is committed). Wire it in as config:check in the check set and
the CI checks matrix, and extend ruff/pylint/pyright/format coverage to
ci/ so the script is held to the same bar as src and tests.
config:check: ban config files that shadow pyproject.toml tool sections
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

⤵️ pull merge-conflict Resolve conflicts manually

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant