- Introduced an `orchestrate` job to determine which CI jobs to run based on changed paths in pull requests.
- Updated Rust workflow to conditionally execute jobs like linting, testing, and plugin SDK based on the selection logic.
- Added a new script `select_rust_jobs.py` to handle job selection logic without requiring a Rust installation.
- Enhanced documentation to explain the new CI execution model and its implications for contributors.
- Introduced a new CI step for testing Windows shared terminal execution to ensure ConPTY functionality is validated in isolation.
- Updated the test for shared entry routes to explicitly ignore it outside of the Windows CI environment.
- Refactored the telnet test to improve the handling of application writes and idle intervals, ensuring accurate timing for slow writes.
- Implemented MSI packaging for stable releases, including installation scripts and metadata generation.
- Added tests to ensure MSI files are correctly generated and verified against expected properties.
- Updated release workflows to include MSI installation and signing steps.
- Enhanced artifact management to conditionally include MSI files based on release type.
Pin package checkouts and validate per-target source provenance before signing or reusing artifacts. Separate verification from GitHub and R2 publication, and exercise invalid signatures and rehearsal publication gates.
Keep integration files in a host-owned TempDir until ConPTY teardown and
worker joins finish. Use exec for the target shell so active session close
no longer depends on a bootstrap process running its EXIT trap.
Cover close during rc input, foreground execution, normal exit, and WSL
foreground teardown. Run the Git Bash lifecycle tests in Windows CI.
Validation on Windows:
- cargo check --workspace --locked -j 1
- cargo test --workspace --locked --no-fail-fast -j 1
- cargo fmt --all -- --check
- cargo clippy --workspace --all-targets --locked -j 1 -- -D warnings
- Explicit Git Bash ConPTY and WSL startup/close regressions
Architecture lint retains the existing admission.rs thread-builder and
table.rs raw-scroll violations; neither file is changed here.
No persistence contracts or pinned dependencies change.
- Added support for embedding version information in Windows executables, including major, minor, patch, and revision components.
- Updated the build script to generate a comprehensive Windows resource file with application metadata.
- Implemented tests to validate the correct embedding of version information and resource requirements for Windows applications.
- Enhanced the verification process for Windows applications to ensure the presence of version resources and correct metadata.
- Introduced new tests for handling versioning edge cases and ensuring compliance with Windows versioning standards.
Introduced a new script for bumping the Cargo workspace version, which updates both `Cargo.toml` and `Cargo.lock` while preserving comments and formatting. Updated CI workflows to include the new `test_bump_version` script, ensuring version bump tests are executed during the CI process.
Introduced a new job in the GitHub Actions workflow for the Plugin SDK, which includes steps for checking out the repository, setting up Rust with necessary components, installing Linux dependencies, checking formatting, building SDK guests, and verifying the packaged SDK. Updated the Rust gate job dependencies to include the new plugin-sdk job.
Additionally, refactored the NyaTermApp to improve the handling of floating panel close actions based on the current panel state, ensuring better user experience. Enhanced plugin management by implementing shutdown procedures and revising invocation checks to include expected revisions, improving stability and error handling during plugin operations.
Added comprehensive tests for the plugin service to validate the new functionality and ensure robust performance across various scenarios.
- Introduced `PreparedSshShellIntegration` to streamline shell integration handling.
- Updated `SshShellIntegrationState` to manage pending integrations instead of scripts.
- Refactored related functions to utilize the new structure for improved clarity and maintainability.
- Added support for additional shell types in integration scripts.
- Adjusted tests to accommodate changes in shell integration logic.
- Updated the `CONTRIBUTING.md` to include additional test commands for release asset verification and package metadata generation.
- Revised `README.md` and `README.zh-CN.md` to clarify the installation process for Windows portable editions and added details on migrating from Tauri to GPUI.
- Introduced new workflows for publishing to AUR, Gitee, and Homebrew, ensuring streamlined release processes across platforms.
- Added a new `actionlint.yaml` for workflow syntax validation, improving CI/CD reliability.
- Enhanced documentation to reflect changes in artifact versioning and release management, ensuring clarity for contributors and users.
Clear the existing workspace Clippy warnings and make warnings fatal in CI. Add a budgeted architecture check that prevents new crate-boundary, raw-thread, raw-scroll, module-path, and wildcard-import debt while requiring every temporary exception to stay justified and current.
- Modified `.gitattributes` to ensure nested CI scripts under `scripts/ci/` are correctly matched.
- Updated `CONTRIBUTING.md` for clarity and added details on local checks, including the importance of `--no-fail-fast` in testing.
- Introduced new GitHub Actions for setting up Rust and managing documentation workflows, improving CI efficiency.
- Removed the outdated `native-checks.yml` workflow and replaced it with a more comprehensive `rust.yml` workflow for better testing coverage.
- Added scripts for verifying release assets and installing necessary tooling, enhancing the release process.
This commit refines the CI/CD pipeline, ensuring better organization, clarity, and functionality across workflows and documentation.