Commit ccf4b28
Add installers (#91)
* feat: add cross-platform installers using cargo-packager
- Add cargo-packager configuration to src/Cargo.toml
- Configured for Windows (NSIS, MSI), macOS (DMG), and Linux (Deb, RPM, AppImage)
- Includes ggsql CLI and ggsql-rest binaries
- Uses existing logo/icon assets
- Add GitHub Actions workflow for automated releases
- Builds installers for Windows, macOS, and Linux
- Triggers on version tags (v*)
- Uploads all installers to GitHub Releases
- Add INSTALLERS.md documentation
- Local build instructions for all platforms
- Installation guides
- CI/CD usage
- Troubleshooting tips
- Update .gitignore to exclude installer artifacts
- *.msi, *.deb, *.rpm, *.dmg, *.AppImage
- .cargo-packager/ directory
Verified working: Windows NSIS and MSI installers tested successfully.
Co-Authored-By: Claude (us.anthropic.claude-sonnet-4-5-20250929-v1:0) <noreply@anthropic.com>
* refactor: exclude REST API server from installers
- Remove ggsql-rest from packaged binaries
- Installers now only include the core CLI (ggsql)
- Users can install ggsql-rest separately via cargo if needed
- Reduces installer size: NSIS 22MB→12MB, MSI 31MB→15MB
Updated documentation to reflect that ggsql-rest and ggsql-jupyter
must be installed separately via cargo.
Co-Authored-By: Claude (us.anthropic.claude-sonnet-4-5-20250929-v1:0) <noreply@anthropic.com>
* fix(ci): resolve installer build failures across all platforms
- Linux: Update libwebkit2gtk-4.0-dev to libwebkit2gtk-4.1-dev for Ubuntu 24.04
- macOS: Remove SVG icon (not supported), use PNG only
- All platforms: Add explicit binary build steps before packaging
Fixes GitHub Actions workflow failures:
- Linux: Package not found error
- macOS: SVG format not recognized
- Windows: Binary path not found
Co-Authored-By: Claude (us.anthropic.claude-sonnet-4-5-20250929-v1:0) <noreply@anthropic.com>
* fix(ci): remove unsupported RPM format from Linux builds
cargo-packager does not support RPM format. Removed RPM build steps
from the workflow and updated documentation accordingly.
Supported Linux formats:
- Debian (.deb) - for Debian/Ubuntu
- AppImage - portable, distribution-agnostic
Also updated Windows installer sizes in docs to reflect actual sizes
after removing REST API (NSIS: 12MB, MSI: 15MB).
Co-Authored-By: Claude (us.anthropic.claude-sonnet-4-5-20250929-v1:0) <noreply@anthropic.com>
* fix(ci): remove AppImage format from Linux builds
AppImage requires a square icon which we don't currently have.
Simplified Linux builds to only produce Debian packages (.deb),
which cover the majority of Linux users (Ubuntu, Debian, Mint, etc.).
Removed formats:
- AppImage (requires square icon)
- RPM (not supported by cargo-packager)
Remaining formats:
- Windows: NSIS (.exe) and MSI
- macOS: DMG (x86_64 and arm64)
- Linux: Debian (.deb)
Updated all documentation to reflect these changes.
Co-Authored-By: Claude (us.anthropic.claude-sonnet-4-5-20250929-v1:0) <noreply@anthropic.com>
* docs: add package metadata for installers
Added comprehensive metadata to cargo-packager configuration:
- Homepage: https://ggsql.org/
- Short description for package managers
- Long description with feature overview
- Copyright notice
This metadata will appear in installer UI and package manager
listings across all platforms (Windows, macOS, Linux).
Co-Authored-By: Claude (us.anthropic.claude-sonnet-4-5-20250929-v1:0) <noreply@anthropic.com>
* fix: replace Unicode smart quotes with ASCII quotes in LICENSE
Replaced Unicode curly quotes (" ") with plain ASCII double quotes (")
to fix character encoding issues in Windows installers.
The NSIS installer was displaying mojibake (“Softwareâ€) instead of
proper quotes. This fix ensures the license text displays correctly
across all installers and platforms.
Co-Authored-By: Claude (us.anthropic.claude-sonnet-4-5-20250929-v1:0) <noreply@anthropic.com>
* fix: rename short-description to description in packager config
The correct field name is 'description', not 'short-description'.
This was causing cargo-packager to fail with an unknown field error.
Co-Authored-By: Claude (us.anthropic.claude-sonnet-4-5-20250929-v1:0) <noreply@anthropic.com>
* docs: add Release & Distribution section to CLAUDE.md
Add comprehensive release process documentation including:
- Cross-platform installer overview
- Step-by-step release checklist
- Known limitations and workarounds
- Current and future distribution channels
Co-Authored-By: Claude (us.anthropic.claude-sonnet-4-5-20250929-v1:0) <noreply@anthropic.com>
* ci: remove redundant binary build steps from installer workflow
cargo-packager builds binaries automatically when creating installers,
so explicit cargo build steps are unnecessary.
Removes 4 redundant steps:
- Windows: 1 build step
- macOS: 2 build steps (x86_64 and aarch64)
- Linux: 1 build step
Co-Authored-By: Claude (us.anthropic.claude-sonnet-4-5-20250929-v1:0) <noreply@anthropic.com>
* Revert "ci: remove redundant binary build steps from installer workflow"
This reverts commit 0217fe3. The build steps are actually required because
cargo-packager does not build binaries when run from a workspace subdirectory.
It expects binaries to already exist in the target directory.
The explicit build steps ensure binaries are placed in the correct location
before cargo-packager attempts to package them.
Co-Authored-By: Claude (us.anthropic.claude-sonnet-4-5-20250929-v1:0) <noreply@anthropic.com>
* ci: use working-directory directive instead of explicit cd commands
Replace multi-line cd commands with cleaner working-directory directive
for all cargo packager steps.
Co-Authored-By: Claude (us.anthropic.claude-sonnet-4-5-20250929-v1:0) <noreply@anthropic.com>
* docs: update installation instructions with native installer info
Replace build-from-source-only instructions with:
- Native installer downloads (Windows/macOS/Linux)
- Platform-specific installation steps
- Security warning explanations
- Component availability (CLI only in installers)
- Build-from-source as alternative option
Co-Authored-By: Claude (us.anthropic.claude-sonnet-4-5-20250929-v1:0) <noreply@anthropic.com>
* For now comment out the release installer bit.
---------
Co-authored-by: Claude (us.anthropic.claude-sonnet-4-5-20250929-v1:0) <noreply@anthropic.com>1 parent 25356a2 commit ccf4b28
7 files changed
Lines changed: 603 additions & 7 deletions
File tree
- .github/workflows
- doc
- src
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
141 | 141 | | |
142 | 142 | | |
143 | 143 | | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1077 | 1077 | | |
1078 | 1078 | | |
1079 | 1079 | | |
| 1080 | + | |
| 1081 | + | |
| 1082 | + | |
| 1083 | + | |
| 1084 | + | |
| 1085 | + | |
| 1086 | + | |
| 1087 | + | |
| 1088 | + | |
| 1089 | + | |
| 1090 | + | |
| 1091 | + | |
| 1092 | + | |
| 1093 | + | |
| 1094 | + | |
| 1095 | + | |
| 1096 | + | |
| 1097 | + | |
| 1098 | + | |
| 1099 | + | |
| 1100 | + | |
| 1101 | + | |
| 1102 | + | |
| 1103 | + | |
| 1104 | + | |
| 1105 | + | |
| 1106 | + | |
| 1107 | + | |
| 1108 | + | |
| 1109 | + | |
| 1110 | + | |
| 1111 | + | |
| 1112 | + | |
| 1113 | + | |
| 1114 | + | |
| 1115 | + | |
| 1116 | + | |
| 1117 | + | |
| 1118 | + | |
| 1119 | + | |
| 1120 | + | |
| 1121 | + | |
| 1122 | + | |
| 1123 | + | |
| 1124 | + | |
| 1125 | + | |
| 1126 | + | |
| 1127 | + | |
| 1128 | + | |
| 1129 | + | |
| 1130 | + | |
| 1131 | + | |
| 1132 | + | |
| 1133 | + | |
| 1134 | + | |
| 1135 | + | |
| 1136 | + | |
| 1137 | + | |
| 1138 | + | |
| 1139 | + | |
| 1140 | + | |
| 1141 | + | |
| 1142 | + | |
| 1143 | + | |
| 1144 | + | |
| 1145 | + | |
| 1146 | + | |
| 1147 | + | |
| 1148 | + | |
| 1149 | + | |
| 1150 | + | |
| 1151 | + | |
| 1152 | + | |
| 1153 | + | |
| 1154 | + | |
| 1155 | + | |
| 1156 | + | |
| 1157 | + | |
| 1158 | + | |
1080 | 1159 | | |
1081 | 1160 | | |
1082 | 1161 | | |
| |||
0 commit comments