-
Notifications
You must be signed in to change notification settings - Fork 0
Version 0.9.5 #95
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Version 0.9.5 #95
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request updates envstack to version 0.9.5, focusing on cross-platform compatibility improvements, particularly for Windows support. The changes include path handling normalization, Windows-specific build tooling, enhanced CLI user experience, and expanded CI coverage across Ubuntu, macOS, and Windows.
Key Changes:
- Standardized Windows path handling to use uppercase drive letters and UNC-style paths for consistency
- Refactored
CmdWrapperto explicitly invokecmd.exewith proper argument handling - Added GitHub Actions workflow to test across multiple platforms
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| setup.py | Version bump to 0.9.5 |
| lib/envstack/init.py | Version bump to 0.9.5 |
| lib/envstack/wrapper.py | Refactored CmdWrapper to use explicit cmd.exe invocation with proper argument joining |
| lib/envstack/util.py | Updated drive letter pattern to only match uppercase letters (A-Z instead of a-zA-Z) |
| lib/envstack/cli.py | Enhanced shell launch message with platform-specific exit instructions and quiet mode support |
| tests/test_wrapper.py | Added platform detection, updated test paths for Windows, and added platform-specific test skips |
| tests/test_util.py | Updated test expectations to uppercase drive letters, commented out lowercase drive letter tests |
| tests/test_node.py | Changed Windows test root from X:/pipe to UNC-style //tools/pipe |
| tests/test_env.py | Updated Windows test root and modified encryption test assertion logic |
| tests/test_cmds.py | Added platform skip marker to limit shell integration tests to Linux |
| env/cache.env | Refactored CACHE_ROOT to use CACHE_DIR variable defined per platform |
| make.bat | New Windows batch script for building, testing, and installing on Windows |
| .github/workflows/tests.yml | New GitHub Actions workflow for cross-platform testing |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This pull request introduces several improvements and fixes for cross-platform compatibility, especially for Windows, refines environment variable handling, and enhances test coverage and reliability. The most significant changes are grouped below.
Windows Support and Path Handling:
make.batscript to simplify building, testing, and installing the project on Windows systems.//tools/pipe) instead of drive letters, improving reliability and consistency across platforms. [1] [2] [3] [4] [5] [6] [7] [8] [9]Command Wrapper Improvements:
CmdWrapperinwrapper.pyto explicitly invokecmd.exewith correct argument handling, ensuring robust execution of wrapped commands on Windows.run_commandto better detect shell types and handle variable expansion for Windows and Unix-like shells.Testing and CI Enhancements:
tests.yml) to run tests on Ubuntu, macOS, and Windows, increasing CI coverage.CLI and Usability Improvements:
cmd,powershell,bash). [1] [2]Version Bump:
0.9.5in bothsetup.pyandlib/envstack/__init__.pyto reflect these changes. [1] [2]