c5c84704db2a6aca11acba7b60d5c27edf62d43d
103
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
997c265cfb |
refactor(git): introduce GitRunError hierarchy, surface non-repo errors, and improve verification queries
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / lint-shell (push) Has been cancelled
Mark stable commit / lint-python (push) Has been cancelled
* Replace legacy GitError usage with a clearer exception hierarchy: * GitBaseError as the common root for all git-related failures * GitRunError for subprocess execution failures * GitQueryError for read-only query failures * GitCommandError for state-changing command failures * GitNotRepositoryError to explicitly signal “not a git repository” situations * Update git runner to detect “not a git repository” stderr and raise GitNotRepositoryError with rich context (cwd, command, stderr) * Refactor repository verification to use dedicated query helpers instead of ad-hoc subprocess calls: * get_remote_head_commit (ls-remote) for pull mode * get_head_commit for local mode * get_latest_signing_key (%GK) for signature verification * Add strict vs best-effort behavior in verify_repository: * Best-effort collection for reporting (does not block when no verification config exists) * Strict retrieval and explicit error messages when verification is configured * Clear failure cases when commit/signing key cannot be determined * Add new unit tests covering: * get_latest_signing_key output stripping and error wrapping * get_remote_head_commit parsing, empty output, and error wrapping * verify_repository success/failure scenarios and “do not swallow GitNotRepositoryError” * Adjust imports and exception handling across actions/commands/queries to align with GitRunError-based handling while keeping GitNotRepositoryError uncaught for debugging clarity https://chatgpt.com/share/6943173c-508c-800f-8879-af75d131c79b |
||
|
|
3cb7852cb4 |
feat(mirrors): support URL-only MIRRORS entries and keep git config clean
- Allow MIRRORS to contain plain URLs (one per line) in addition to legacy "NAME URL" - Treat strings as single URLs to avoid iterable pitfalls - Write PyPI URLs as metadata-only entries (never added to git config) - Keep MIRRORS as the single source of truth for mirror setup - Update integration test to assert URL-only MIRRORS output https://chatgpt.com/share/6941a9aa-b8b4-800f-963d-2486b34856b1 |
||
|
|
ffa9d9660a |
gpt-5.2 ChatGPT: refactor tools code into cli.tools.vscode and add unit tests
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / lint-shell (push) Has been cancelled
Mark stable commit / lint-python (push) Has been cancelled
* Move VS Code workspace logic (incl. guards) from cli.commands.tools into cli.tools.vscode * Extract shared repo path resolution into cli.tools.paths and reuse for explore/terminal * Simplify cli.commands.tools to pure orchestration via open_vscode_workspace * Update existing tools command unit test to assert delegation instead of patching removed internals * Add new unit tests for cli.tools.paths and cli.tools.vscode (workspace creation, reuse, guard errors) https://chatgpt.com/share/69419a6a-c9e4-800f-9538-b6652b2da6b3 |
||
|
|
54058c7f4d |
gpt-5.2 ChatGPT: integrate gh-based credential resolution with full integration test
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / lint-shell (push) Has been cancelled
Mark stable commit / lint-python (push) Has been cancelled
- Add GhTokenProvider to read GitHub tokens via `gh auth token` - Extend TokenResolver policy: ENV → gh → keyring (validate) → prompt (overwrite) - Introduce provider-specific token validation for GitHub - Ensure invalid keyring tokens trigger interactive re-prompt and overwrite - Add end-to-end integration test covering gh → keyring → prompt flow - Clean up credentials package exports and documentation https://chatgpt.com/share/69418c81-6748-800f-8fec-616684746e3c |
||
|
|
8583fdf172 |
feat(mirror,create): make MIRRORS single source of truth and exclude PyPI from git config
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / lint-shell (push) Has been cancelled
Mark stable commit / lint-python (push) Has been cancelled
- Treat MIRRORS as the only authority for mirror URLs - Filter non-git URLs (e.g. PyPI) from git remotes and push URLs - Prefer SSH git URLs when determining primary origin - Ensure mirror probing only targets valid git remotes - Refactor repository create into service-based architecture - Write PyPI metadata exclusively to MIRRORS, never to git config - Add integration test verifying PyPI is not written into .git/config - Update preview and unit tests to match new create flow https://chatgpt.com/share/69415c61-1c5c-800f-86dd-0405edec25db |
||
|
|
374f4ed745 |
test(integration): move create repo preview test from e2e and mock git commands
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / lint-shell (push) Has been cancelled
Mark stable commit / lint-python (push) Has been cancelled
- Reclassify create repo preview test as integration test - Rename test class to drop E2E naming - Replace subprocess mock with core.git command mocks (init/add_all/commit) - Patch get_config_value to avoid git config dependency https://chatgpt.com/share/694150de-873c-800f-a01d-df3cc7ce25df |
||
|
|
2f89de1ff5 |
refactor(pull): switch repository pull to core.git commands
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / lint-shell (push) Has been cancelled
Mark stable commit / lint-python (push) Has been cancelled
- Replace raw subprocess git pull with core.git.commands.pull_args - Remove shell-based command execution - Add GitPullArgsError wrapper for consistent error handling - Align unit tests to mock pull_args instead of subprocess.run - Preserve verification and prompt logic https://chatgpt.com/share/69414dc9-5b30-800f-88b2-bd27a873580b |
||
|
|
9c22c7dbb4 |
refactor(git): introduce structured core.git command/query API and adapt actions & tests
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / lint-shell (push) Has been cancelled
Mark stable commit / lint-python (push) Has been cancelled
- Replace direct subprocess usage with core.git.run wrapper - Introduce dedicated core.git.commands (add, commit, fetch, pull_ff_only, push, clone, tag_annotated, tag_force_annotated, etc.) - Introduce core.git.queries (list_tags, get_upstream_ref, get_config_value, changelog helpers, etc.) - Refactor release workflow and git_ops to use command/query split - Implement semantic vX.Y.Z comparison with safe fallback for non-parseable tags - Refactor repository clone logic to use core.git.commands.clone with preview support and ssh→https fallback - Remove legacy run_git_command helpers - Split and update unit tests to mock command/query boundaries instead of subprocess - Add comprehensive tests for clone modes, preview behavior, ssh→https fallback, and verification prompts - Add unit tests for core.git.run error handling and preview mode - Align public exports (__all__) with new structure - Improve type hints, docstrings, and error specificity across git helpers https://chatgpt.com/share/69414735-51d4-800f-bc7b-4b90e35f71e5 |
||
|
|
f83e192e37 |
refactor(release/git): replace shell git calls with command/query helpers
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / lint-shell (push) Has been cancelled
Mark stable commit / lint-python (push) Has been cancelled
- Remove legacy shell-based git helpers from release workflow - Introduce typed git command wrappers (add, commit, fetch, pull_ff_only, push, tag*) - Add git queries for upstream detection and tag listing - Refactor release workflow to use core git commands consistently - Implement semantic vX.Y.Z tag comparison without external sort - Ensure prerelease tags (e.g. -rc) do not outrank final releases - Split and update unit tests to match new command/query architecture |
||
|
|
0119af330f |
gpt-5.2: fix tests and imports after git queries split
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / lint-shell (push) Has been cancelled
Mark stable commit / lint-python (push) Has been cancelled
https://chatgpt.com/share/694135eb-10a8-800f-8b12-968612f605c7 Gemini https://ai.studio/apps/drive/1QO9MaEklm2zZMDZ6XPP0LStuAooXs1NO |
||
|
|
e117115b7f |
gpt-5.2 ChatGPT: adapt tests to new core.git commands/queries split
- Update mirror integration tests to use probe_remote_reachable - Refactor branch action tests to mock git command helpers instead of run_git - Align changelog tests with get_changelog query API - Update git core tests to cover run() and query helpers - Remove legacy run_git assumptions from tests https://chatgpt.com/share/69412008-9e8c-800f-9ac9-90f390d55380 **Validated by Google's model.** **Summary:** The test modifications have been correctly implemented to cover the Git refactoring changes: 1. **Granular Mocking:** The tests have shifted from mocking the monolithic `run_git` or `subprocess` to mocking the new, specific wrapper functions (e.g., `pkgmgr.core.git.commands.fetch`, `pkgmgr.core.git.queries.probe_remote_reachable`). This accurately reflects the architectural change in the source code where business logic now relies on these granular imports. 2. **Structural Alignment:** The test directory structure was updated (e.g., moving tests to `tests/unit/pkgmgr/core/git/queries/`) to match the new source code organization, ensuring logical consistency. 3. **Exception Handling:** The tests were updated to verify specific exception types (like `GitDeleteRemoteBranchError`) rather than generic errors, ensuring the improved error granularity is correctly handled by the CLI. 4. **Integration Safety:** The integration tests in `test_mirror_commands.py` were correctly updated to patch the new query paths, ensuring that network operations remain disabled during testing. The test changes are consistent with the refactor and provide complete coverage for the new code structure. https://aistudio.google.com/app/prompts?state=%7B%22ids%22:%5B%2214Br1JG1hxuntmoRzuvme3GKUvQ0heqRn%22%5D,%22action%22:%22open%22,%22userId%22:%22109171005420801378245%22,%22resourceKeys%22:%7B%7D%7D&usp=sharing |
||
|
|
755b78fcb7 |
refactor(git): split git helpers into run/commands/queries and update branch, mirror and changelog actions
https://chatgpt.com/share/69411b4a-fcf8-800f-843d-61c913f388eb |
||
|
|
dcda23435d |
git commit -m "feat(update): add --silent mode with continue-on-failure and unified summary
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / lint-shell (push) Has been cancelled
Mark stable commit / lint-python (push) Has been cancelled
- Introduce --silent flag for install/update to downgrade per-repo errors to warnings - Continue processing remaining repositories on pull/install failures - Emit a single summary at the end (suppress per-repo summaries during update) - Preserve interactive verification behavior when not silent - Add integration test covering silent vs non-silent update behavior - Update e2e tests to use --silent for stability" https://chatgpt.com/share/693ffcca-f680-800f-9f95-9d8c52a9a678 |
||
|
|
f7bd5bfd0b |
Optimized linters and solved linting bugs
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / lint-shell (push) Has been cancelled
Mark stable commit / lint-python (push) Has been cancelled
|
||
|
|
2c15a4016b |
feat(create): scaffold repositories via templates with preview and mirror setup
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / linter-python (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / linter-shell (push) Has been cancelled
https://chatgpt.com/share/693f5bdb-1780-800f-a772-0ecf399627fc |
||
|
|
1a13fcaa4e |
refactor(mirror): enforce primary origin URL and align mirror resolution logic
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / linter-python (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / linter-shell (push) Has been cancelled
- Resolve primary remote via RepoMirrorContext (origin → file order → config → default) - Always set origin fetch and push URL to primary - Add additional mirrors as extra push URLs without duplication - Update remote provisioning and setup commands to use context-based resolution - Adjust and extend unit tests to cover new origin/push behavior https://chatgpt.com/share/693f4538-42d4-800f-98c2-2ec264fd2e19 |
||
|
|
48a0d1d458 |
feat(release): auto-run publish after release with --no-publish opt-out
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / linter-python (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / linter-shell (push) Has been cancelled
- Run publish automatically after successful release - Add --no-publish flag to disable auto-publish - Respect TTY for interactive/credential prompts - Harden repo directory resolution - Add integration and unit tests for release→publish hook https://chatgpt.com/share/693f335b-b820-800f-8666-68355f3c938f |
||
|
|
aa80a2ddb4 |
Added correct e2e test and pypi mirror
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / linter-python (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / linter-shell (push) Has been cancelled
|
||
|
|
9456ad4475 |
feat(publish): add PyPI publish workflow, CLI command, parser integration, and tests
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / linter-python (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / linter-shell (push) Has been cancelled
* Introduce publish action with PyPI target detection via MIRRORS * Resolve version from SemVer git tags on HEAD * Support preview mode and non-interactive CI usage * Build and upload artifacts using build + twine with token resolution * Add CLI wiring (dispatch, command handler, parser) * Add E2E publish help tests for pkgmgr and nix run * Add integration tests for publish preview and mirror handling * Add unit tests for git tag parsing, PyPI URL parsing, workflow preview, and CLI handler * Clean up dispatch and parser structure while integrating publish https://chatgpt.com/share/693f0f00-af68-800f-8846-193dca69bd2e |
||
|
|
328203ccd7 |
**test(nix): add comprehensive unittest coverage for nix installer helpers**
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / linter-python (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / linter-shell (push) Has been cancelled
* Add reusable fakes for runner and retry logic * Cover conflict resolution paths (store-prefix, output-token, textual fallback) * Add unit tests for profile parsing, normalization, matching, and text parsing * Verify installer core behavior for success, mandatory failure, and optional failure * Keep tests Nix-free using pure unittest + mocks https://chatgpt.com/share/693efe80-d928-800f-98b7-0aaafee1d32a |
||
|
|
ac16378807 |
Deleted deprecated unit tests:
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / linter-python (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / linter-shell (push) Has been cancelled
https://chatgpt.com/share/693efe80-d928-800f-98b7-0aaafee1d32a |
||
|
|
06a6a77a48 |
*fix(nix): resolve nix profile conflicts without numeric indices and fix update pkgmgr system test*
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / linter-python (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / linter-shell (push) Has been cancelled
* Switch conflict handling from index-based removal to token-based removal (*nix profile remove <name>*) for newer nix versions * Add robust parsing of *nix profile list --json* with normalization and heuristics for output/name matching * Detect at runtime whether numeric profile indices are supported and fall back automatically when they are not * Ensure *pkgmgr* / *package-manager* flake outputs are correctly identified and cleaned up during reinstall * Fix failing E2E test *test_update_pkgmgr_shallow_pkgmgr_with_system* by reliably removing conflicting profile entries before reinstall https://chatgpt.com/share/693efae5-b8bc-800f-94e3-28c93b74ed7b |
||
|
|
031ae5ac69 |
test(integration): fix mirror tests by removing non-existent check_cmd patches
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / linter-python (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / linter-shell (push) Has been cancelled
- Remove patches referencing pkgmgr.actions.mirror.check_cmd (module does not exist) - Patch actual mirror probe/remote helpers used at runtime - Make mirror integration tests deterministic and CI-safe https://chatgpt.com/share/693ee657-b260-800f-a69a-8b0680e6baa5 |
||
|
|
724c262a4a |
fix(test): import mirror submodules before patching in integration tests
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / linter-python (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / linter-shell (push) Has been cancelled
Ensure pkgmgr.actions.mirror.* submodules are imported before unittest.mock.patch to avoid AttributeError when patching dotted paths (e.g. check_cmd). Stabilizes mirror CLI integration tests in CI. https://chatgpt.com/share/693ed9f5-9918-800f-a880-d1238b3da1c9 |
||
|
|
822c418503 |
Added missing import
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / codesniffer-shellcheck (push) Has been cancelled
Mark stable commit / codesniffer-ruff (push) Has been cancelled
|
||
|
|
562a6da291 |
test(integration): move mirror CLI tests from e2e to integration and patch side effects
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / codesniffer-shellcheck (push) Has been cancelled
Mark stable commit / codesniffer-ruff (push) Has been cancelled
https://chatgpt.com/share/693ed188-eb80-800f-8541-356e3fbd98c5 |
||
|
|
e61b30d9af |
feat(tests): add unit tests for mirror context, io, commands, and remote helpers
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / codesniffer-shellcheck (push) Has been cancelled
Mark stable commit / codesniffer-ruff (push) Has been cancelled
https://chatgpt.com/share/693ed188-eb80-800f-8541-356e3fbd98c5 |
||
|
|
84b6c71748 |
test(integration): add unittest-based repository layout contract test
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / codesniffer-shellcheck (push) Has been cancelled
Mark stable commit / codesniffer-ruff (push) Has been cancelled
- Add integration test using unittest to verify canonical repository paths - Assert pkgmgr repository satisfies template layout (packaging, changelog, metadata) - Use real filesystem without mocks or pytest dependencies https://chatgpt.com/share/693eaa75-98f0-800f-adca-439555f84154 |
||
|
|
db9aaf920e |
refactor(release,version): centralize repository path resolution and validate template layout
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / codesniffer-shellcheck (push) Has been cancelled
Mark stable commit / codesniffer-ruff (push) Has been cancelled
- Introduce RepoPaths resolver as single source of truth for repository file locations - Update release workflow to use resolved packaging and changelog paths - Update version readers to rely on the shared path resolver - Add integration test asserting pkgmgr repository satisfies canonical template layout https://chatgpt.com/share/693eaa75-98f0-800f-adca-439555f84154 |
||
|
|
37f3057d31 |
fix(nix): resolve Ruff F821 via TYPE_CHECKING and stabilize NixFlakeInstaller tests
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
CI / test-integration (push) Has been cancelled
CI / test-env-virtual (push) Has been cancelled
CI / test-virgin-root (push) Has been cancelled
CI / codesniffer-shellcheck (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / codesniffer-shellcheck (push) Has been cancelled
Mark stable commit / codesniffer-ruff (push) Has been cancelled
CI / test-unit (push) Has been cancelled
CI / test-env-nix (push) Has been cancelled
CI / test-e2e (push) Has been cancelled
CI / test-virgin-user (push) Has been cancelled
CI / codesniffer-ruff (push) Has been cancelled
- Add TYPE_CHECKING imports for RepoContext and CommandRunner to avoid runtime deps - Fix Ruff F821 undefined-name errors in nix installer modules - Refactor legacy NixFlakeInstaller unit tests to mock subprocess.run directly - Remove obsolete run_cmd_mock usage and assert install calls via subprocess calls - Ensure tests run without realtime waits or external nix dependencies https://chatgpt.com/share/693e925d-a79c-800f-b0b6-92b8ba260b11 |
||
|
|
d55c8d3726 |
refactor(nix): split NixFlakeInstaller into atomic modules and add GitHub 403 retry handling
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / codesniffer-shellcheck (push) Has been cancelled
Mark stable commit / codesniffer-ruff (push) Has been cancelled
- Move Nix flake installer into installers/nix/ with atomic components (installer, runner, profile, retry, types) - Preserve legacy behavior and semantics of NixFlakeInstaller - Add GitHub API 403 rate-limit retry with Fibonacci backoff + jitter - Update all imports to new nix module path - Rename legacy unit tests and adapt patches to new structure - Add unit test for simulated GitHub 403 retry without realtime sleeping https://chatgpt.com/share/693e925d-a79c-800f-b0b6-92b8ba260b11 |
||
|
|
55f4a1e941 |
refactor(update): move update logic to unified UpdateManager and extend system support
CI / test-integration (push) Has been cancelled
CI / test-env-virtual (push) Has been cancelled
CI / test-virgin-root (push) Has been cancelled
CI / codesniffer-shellcheck (push) Has been cancelled
CI / test-unit (push) Has been cancelled
CI / test-env-nix (push) Has been cancelled
CI / test-e2e (push) Has been cancelled
CI / test-virgin-user (push) Has been cancelled
CI / codesniffer-ruff (push) Has been cancelled
- Move update orchestration from repository scope to actions/update - Introduce UpdateManager and SystemUpdater with distro detection - Add Arch, Debian/Ubuntu, and Fedora/RHEL system update handling - Rename CLI flag from --system-update to --system - Route update as a top-level command in CLI dispatch - Remove legacy update_repos implementation - Add E2E tests for: - update all without system updates - update single repo (pkgmgr) with system updates https://chatgpt.com/share/693e76ec-5ee4-800f-9623-3983f56d5430 |
||
|
|
2debdbee09 |
* **Split mirror responsibilities into clear subcommands**
CI / test-integration (push) Has been cancelled
CI / test-env-virtual (push) Has been cancelled
CI / test-virgin-root (push) Has been cancelled
CI / codesniffer-shellcheck (push) Has been cancelled
CI / test-unit (push) Has been cancelled
CI / test-env-nix (push) Has been cancelled
CI / test-e2e (push) Has been cancelled
CI / test-virgin-user (push) Has been cancelled
CI / codesniffer-ruff (push) Has been cancelled
Setup configures local Git state, check validates remote reachability in a read-only way, and provision explicitly creates missing remote repositories. Destructive behavior is never implicit. * **Introduce a remote provisioning layer** pkgmgr can now ensure that repositories exist on remote providers. If a repository is missing, it can be created automatically on supported platforms when explicitly requested. * **Add a provider registry for extensibility** Providers are resolved based on the remote host, with optional hints to force a specific backend. This makes it straightforward to add further providers later without changing the core logic. * **Use a lightweight, dependency-free HTTP client** All API communication is handled via a small stdlib-based client. HTTP errors are mapped to meaningful domain errors, improving diagnostics and error handling consistency. * **Centralize credential resolution** API tokens are resolved in a strict order: environment variables first, then the system keyring, and finally an interactive prompt if allowed. This works well for both CI and interactive use. * **Keep keyring integration optional** Secure token storage via the OS keyring is provided as an optional dependency. If unavailable, pkgmgr still works using environment variables or one-off interactive tokens. * **Improve CLI parser safety and clarity** Shared argument helpers now guard against duplicate definitions, making composed subcommands more robust and easier to maintain. * **Expand end-to-end test coverage** All mirror-related workflows are exercised through real CLI invocations in preview mode, ensuring full wiring correctness while remaining safe for automated test environments. https://chatgpt.com/share/693df441-a780-800f-bcf7-96e06cc9e421 |
||
|
|
1e5d6d3eee |
test(unit): update NixFlakeInstaller tests for new run_command-based logic
- Adapt DummyCtx to include quiet and force_update flags - Replace os.system mocking with run_command/subprocess mocks - Align assertions with new Nix install/upgrade output - Keep coverage for mandatory vs optional output handling https://chatgpt.com/share/693db645-c420-800f-b921-9d5c0356d0ac |
||
|
|
f2970adbb2 |
test(e2e): enforce --system-update and isolate update-all integration tests
- Require --system-update for update-all integration tests - Run tests with isolated HOME and temporary gitconfig - Allow /src as git safe.directory for nix run - Capture and print combined stdout/stderr on failure - Ensure consistent environment for pkgmgr and nix-run executions |
||
|
|
7f262c6557 |
feat(install): add --update to re-run active-layer installers and improve Nix refresh logic
CI / test-integration (push) Has been cancelled
CI / test-env-virtual (push) Has been cancelled
CI / test-virgin-root (push) Has been cancelled
CI / codesniffer-shellcheck (push) Has been cancelled
CI / test-unit (push) Has been cancelled
CI / test-env-nix (push) Has been cancelled
CI / test-e2e (push) Has been cancelled
CI / test-virgin-user (push) Has been cancelled
CI / codesniffer-ruff (push) Has been cancelled
* Add `force_update` to `RepoContext` and propagate it through install/update flows * Add `pkgmgr install --update` to force re-running installers even if the same CLI layer is already loaded * Enhance `NixFlakeInstaller` to ensure correct outputs (pkgmgr + optional default for package-manager) and support refresh/upgrade with index-based fallback remove+reinstall * Make Python/Makefile installers emit an “upgraded” marker when `force_update` is used * Add E2E tests for “three times install” scenarios (makefile, nix, venv) with shared run helper * Fix git safe.directory wildcard quoting in E2E shell runner and minor cleanup/reordering of imports/comments https://chatgpt.com/share/693db0b4-6ea4-800f-b44a-f03939c7fb9e |
||
|
|
db23b1a445 |
Solved ruff hints
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / codesniffer-shellcheck (push) Has been cancelled
Mark stable commit / codesniffer-ruff (push) Has been cancelled
|
||
|
|
097e64408f |
Fix repository deinstall logic and add unit tests for repository helpers
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / codesniffer-shellcheck (push) Has been cancelled
Mark stable commit / codesniffer-ruff (push) Has been cancelled
- Fix undefined repo_dir usage in repository deinstall action - Centralize and harden get_repo_dir with strict validation and clear errors - Expand user paths for repository base and binary directories - Add unit tests for get_repo_dir and deinstall_repos - Add comprehensive tests for resolve_repos identifier matching - Remove obsolete command resolution tests no longer applicable https://chatgpt.com/share/693d7442-c2d0-800f-9ff3-fb84d60eaeb4 |
||
|
|
f388bc51bc |
Ruff autofix
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / codesniffer-shellcheck (push) Has been cancelled
Mark stable commit / codesniffer-ruff (push) Has been cancelled
|
||
|
|
b8acd634f8 |
Improve run_command error diagnostics with live output capture
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Mark stable commit / codesniffer-shellcheck (push) Has been cancelled
Mark stable commit / codesniffer-ruff (push) Has been cancelled
Switch run_command to a single-run execution model that streams stdout/stderr live while capturing both streams in memory using selectors. This guarantees that command errors (e.g. make install, pip, nix) always show full diagnostics without re-running commands or risking deadlocks. Add unit tests for preview mode, success execution, failure handling, and allow_failure behavior. Context: https://chatgpt.com/share/replace-with-this-conversation-link |
||
|
|
f5d428950e |
**Replace main.py with module-based entry point and unify CLI execution**
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
* Remove legacy *main.py* and introduce *pkgmgr* module entry via *python -m pkgmgr* * Add ***main**.py* as the canonical entry point delegating to the CLI * Export *PYTHONPATH=src* in Makefile to ensure reliable imports in dev and CI * Update setup scripts (venv & nix) to use module execution * Refactor all E2E tests to execute the real module entry instead of file paths This aligns pkgmgr with standard Python packaging practices and simplifies testing, setup, and execution across environments. https://chatgpt.com/share/693c9056-716c-800f-b583-fc9245eab2b4 |
||
|
|
c8bf1c91ad |
**test(e2e): split update-all HTTPS integration test into pkgmgr and nix runs**
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-env-virtual (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-env-nix (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
Refactored the E2E update-all test to execute real CLI commands instead of invoking *main.py*. The test is now split into two independent cases: one running *pkgmgr update* directly and one running the same command via *nix run .#pkgmgr*. This improves realism, diagnostics, and parity with actual user workflows inside the container. https://chatgpt.com/share/693c52cb-cc10-800f-994b-5b2940dcf948 |
||
|
|
0ec4ccbe40 |
**fix(release): force-fetch remote tags and align tests**
* Treat remote tags as the source of truth by force-fetching tags from *origin* * Update preview output to reflect the real fetch behavior * Align unit tests with the new forced tag fetch command https://chatgpt.com/share/693bdfc3-b8b4-800f-8adc-b1dc63c56a89 |
||
|
|
0d864867cd |
**feat(release): adjust highest-tag detection tests and improve logging**
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-container (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
* Add debug output for latest vs current version tag in release git ops * Treat “no version tags yet” as highest by definition * Align unit tests with current *string-based* `tag >= latest` behavior * Make tag listing mocks less brittle by matching command patterns * Rename release init test to `test_init.py` for consistent discovery |
||
|
|
3ff0afe828 |
feat(release): refactor release workflow, tagging logic, and CLI integration
Refactor the release implementation into a dedicated workflow module with clear separation of concerns. Enforce a safe, deterministic Git flow by always syncing with the remote before modifications, pushing only the current branch and the newly created version tag, and updating the floating *latest* tag only when the released version is the highest. Add explicit user prompts for confirmation and optional branch deletion, with a forced mode to skip interaction. Update CLI wiring to pass all relevant flags, add comprehensive unit tests for the new helpers and workflow entry points, and introduce detailed documentation describing the release process, safety rules, and execution flow. |
||
|
|
6a1e001fc2 |
test(branch): remove obsolete test_branch.py after branch module refactor
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-container (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
The old test tests/unit/pkgmgr/actions/test_branch.py has been removed because: - it targeted the previous monolithic pkgmgr.actions.branch module structure - its patch targets no longer match the refactored code - its responsibilities are now fully covered by the new, dedicated unit, integration, and E2E tests for branch actions and CLI wiring This avoids redundant coverage and prevents misleading or broken tests after the branch refactor. https://chatgpt.com/share/693bcc8d-b84c-800f-8510-8d6c66faf627 |
||
|
|
9630917570 |
**refactor(nix-flake): replace run_command wrapper with direct os.system execution and extend test coverage**
Mark stable commit / test-unit (push) Has been cancelled
Mark stable commit / test-integration (push) Has been cancelled
Mark stable commit / test-e2e (push) Has been cancelled
Mark stable commit / mark-stable (push) Has been cancelled
Mark stable commit / test-container (push) Has been cancelled
Mark stable commit / test-virgin-user (push) Has been cancelled
Mark stable commit / test-virgin-root (push) Has been cancelled
This commit removes the `run_command`-based execution model for Nix flake installations and replaces it with a direct `os.system` invocation. This ensures that *all* Nix diagnostics (stdout/stderr) are fully visible and no longer suppressed by wrapper logic. Key changes: * Directly run `nix profile install` via `os.system` for full error output * Correctly decode real exit codes via `os.WIFEXITED` / `os.WEXITSTATUS` * Preserve mandatory/optional behavior for flake outputs * Update unit tests to the new execution model using `unittest` * Add complete coverage for: * successful installs * mandatory failures → raise SystemExit(code) * optional failures → warn and continue * environment-based disabling via `PKGMGR_DISABLE_NIX_FLAKE_INSTALLER` * Remove obsolete mocks and legacy test logic that assumed `run_command` Overall, this improves transparency, debuggability, and correctness of the Nix flake installer while maintaining full backward compatibility at the interface level. https://chatgpt.com/share/693b0a20-99f4-800f-b789-b00a50413612 |
||
|
|
f3c5460e48 |
feat(mirror): support SSH MIRRORS, multi-push origin and remote probe
CI / test-integration (push) Has been cancelled
CI / test-container (push) Has been cancelled
CI / test-virgin-root (push) Has been cancelled
CI / test-unit (push) Has been cancelled
CI / test-e2e (push) Has been cancelled
CI / test-virgin-user (push) Has been cancelled
- Switch MIRRORS to SSH-based URLs including custom ports/domains
(GitHub, git.veen.world, code.cymais.cloud)
- Extend mirror IO:
- load_config_mirrors filters empty values
- read_mirrors_file now supports:
* "name url" lines
* "url" lines with auto-generated names from URL host (host[:port])
- write_mirrors_file prints full preview content
- Enhance git_remote:
- determine_primary_remote_url used for origin bootstrap
- ensure_origin_remote keeps existing origin URL and
adds all mirror URLs as additional push URLs
- add is_remote_reachable() helper based on `git ls-remote --exit-code`
- Implement non-destructive remote mirror checks in setup_cmd:
- `_probe_mirror()` wraps `git ls-remote` and returns (ok, message)
- `pkgmgr mirror setup --remote` now probes each mirror URL and
prints [OK]/[WARN] with details instead of placeholder text
- Add unit tests for mirror actions:
- test_git_remote: default SSH URL building and primary URL selection
- test_io: config + MIRRORS parsing including auto-named URL-only entries
- test_setup_cmd: probe_mirror success/failure handling
https://chatgpt.com/share/693adee0-aa3c-800f-b72a-98473fdaf760
|
||
|
|
1807949c6f |
Add mirror management commands and refactor CLI parser into modules
- Implement new mirror actions:
- list_mirrors: show mirrors from config, MIRRORS file, or merged view
- diff_mirrors: compare config mirrors with MIRRORS file (ONLY IN CONFIG,
ONLY IN FILE, URL MISMATCH, OK)
- merge_mirrors: merge mirrors between config and MIRRORS file in both
directions, with preview mode and user config writing via save_user_config
- setup_mirrors: prepare local Git remotes (ensure origin) and print
provider-URL suggestions for remote repositories
- Introduce mirror utilities:
- RepoMirrorContext with resolved_mirrors (config + file, file wins)
- load_config_mirrors supporting dict and list-of-dicts shapes
- read/write MIRRORS file with simple "name url" format and preview mode
- helper for building default SSH URLs from provider/account/repository
- Wire mirror commands into CLI:
- Add handle_mirror_command and integrate "mirror" into dispatch
- Add dedicated CLI parser modules under pkgmgr.cli.parser:
* common, install_update, config_cmd, navigation_cmd,
branch_cmd, release_cmd, version_cmd, changelog_cmd,
list_cmd, make_cmd, mirror_cmd
- Replace old flat cli/parser.py with modular parser package and
SortedSubParsersAction in common.py
- Update TODO.md to mark MIRROR as implemented
- Add E2E tests for mirror commands:
- test_mirror_help
- test_mirror_list_preview_all
- test_mirror_diff_preview_all
- test_mirror_merge_config_to_file_preview_all
- test_mirror_setup_preview_all
https://chatgpt.com/share/693adee0-aa3c-800f-b72a-98473fdaf760
|
||
|
|
f4385807f1 |
e2e: disable Nix sandbox for cross-distro flake build test
- Update test_nix_build_pkgmgr.py to invoke
nix --option sandbox false build .#pkgmgr -L
to avoid sandbox/permission issues in Debian and Ubuntu containers.
- Keeps the test logic identical across all distros while ensuring
consistent flake build behaviour during E2E runs.
https://chatgpt.com/share/693aa33f-4e3c-800f-86ec-99c38a07eacb
|