-
Notifications
You must be signed in to change notification settings - Fork 23
CI for multi-platform builds #99
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?
Conversation
- Add blisp executables to gitignore - Add zip archives to gitignore pattern - Keep build tools out of version control
- Build for Linux, Windows, macOS (x86_64 and ARM64) - Generate AppImage for Linux distribution - Cache cargo dependencies for faster builds - Upload artifacts for each platform - Create releases automatically on version tags
- Run tests on Linux, Windows, and macOS - Check code formatting with rustfmt - Run clippy linter with strict warnings - Ensure code quality on all pull requests
- Enable automated dependency updates for GitHub Actions - Enable automated dependency updates for Cargo packages - Schedule weekly checks for both ecosystems - Limit to 5 open PRs per ecosystem
- Fix AppImageKit download URL (moved to appimagetool repo) - Add file package dependency for AppImage builds - Add cargo caching to speed up AppImage builds - Set APPIMAGE_EXTRACT_AND_RUN environment variable - Separate download and installation steps for clarity
- Add Info.plist for macOS app bundle configuration - Create DMG build scripts for local and CI builds - Update CI workflow to build macOS DMG installers - Generate app bundles for both x86_64 and ARM64 architectures - Include DMG files in GitHub releases - Update gitignore for macOS artifacts
- Add CI job to create universal binary from x86_64 and ARM64 builds - Create universal DMG installer that works on all Macs - Add local build script for universal binary creation - Include universal binary artifacts in releases - Use lipo to combine architectures into single binary - Provide both DMG and ZIP formats for distribution
- Add comprehensive binary validation workflow - Validate binaries on their target platforms after build - Add smoke tests for all platforms (Linux, Windows, macOS) - Test help/version commands and binary architecture - Validate DMG mounting and app bundle execution on macOS - Verify universal binary contains both architectures - Add validation summary job to track overall status
|
The description contains every bizarre ChatGPT-ism under the sun. I really can’t tell what’s not an LLM output in this. At least a few things stand out as weird to me; however, I’m too sleep deprived for code review at the moment. |
|
hahah I LLMed the description because I was likewise in a sleep deprived state. Thanks for the quick reply though. I'll write a more concise description later. TLDR, I thought it would be handy to have CI for the builds. |
- Add timeouts to all binary execution tests - Set CI environment variables to prevent GUI launch - Add Xvfb virtual display for Linux GUI testing - Use consistent timeout approach across all platforms - Allow validation to continue even if GUI apps can't show help - Improve error messages to indicate GUI app limitations in CI
This PR sets up automated builds and releases for all platforms. Push a tag, get a release without manual building.
What:
Why:
Testing: