Conversation
…sh for cross-platform compatibility
There was a problem hiding this comment.
Pull request overview
This PR enhances the install.sh script for cross-platform compatibility (particularly Windows support) and adds comprehensive CI testing via GitHub Actions to validate the installer across different operating systems.
Key Changes:
- Added logic to handle Windows
.exeextension in installation and verification flows - Introduced dynamic executable naming based on the detected operating system
- Created a CI workflow to test the install script on Ubuntu, macOS, and Windows with both default and custom installation directories
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| docs/public/install.sh | Enhanced to support Windows executables with .exe extension and dynamic binary naming throughout installation and verification |
| .github/workflows/ci_install_script.yml | New CI workflow that tests the install script across multiple platforms with default and custom install directories |
Comments suppressed due to low confidence (1)
docs/public/install.sh:1
- Line 151 moves the file from
${TEMP_DIR}/tombi.exeto the same location${TEMP_DIR}/tombi.exe, which is a no-op. This should move to${BIN_DIR}/tombi.exeinstead to install the binary to the correct destination directory.
#!/bin/sh
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| # Get the executable name based on OS | ||
| get_exe_name() { | ||
| OS="$(uname -s)" | ||
| case "${OS}" in | ||
| MINGW* | MSYS* | CYGWIN* | Windows_NT) |
There was a problem hiding this comment.
The get_exe_name() function duplicates OS detection logic already present in artifact_extension() and detect_os_arch(). Consider reusing the OS detection result or consolidating this logic to avoid redundancy.
| # Get the executable name based on OS | |
| get_exe_name() { | |
| OS="$(uname -s)" | |
| case "${OS}" in | |
| MINGW* | MSYS* | CYGWIN* | Windows_NT) | |
| # Get the executable name based on artifact extension (which is OS-dependent) | |
| get_exe_name() { | |
| case "${ARTIFACT_EXTENSION}" in | |
| *.zip) |
…fy install.sh for better user guidance
…mic executable naming and improving file handling
…b definitions and enhancing readability
No description provided.