Skip to content

Conversation

@Mearman
Copy link

@Mearman Mearman commented Jul 26, 2025

This PR sets up automated builds and releases for all platforms. Push a tag, get a release without manual building.

What:

  • Builds automatically for Linux, Windows, and macOS (Intel + Apple Silicon)
  • Tests run on every push and PR
  • Creates installers: AppImage for Linux, DMG for macOS, EXE for Windows
  • macOS universal binary. One download works on all Macs
  • Dependabot keeps dependencies up to date

Why:

  • Users can just download and run without building from source
  • Maintainers save time on releases
  • Contributors get instant CI feedback

Testing:

  • CI runs properly
  • All platforms build successfully
  • Binary validation works
  • Need to test installers on real machines
  • Need to verify universal binary on both Mac types

Mearman added 10 commits July 25, 2025 23:27
- 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
@acuteaangle
Copy link
Contributor

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.

@Mearman
Copy link
Author

Mearman commented Jul 26, 2025

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.

@Mearman Mearman changed the title Add comprehensive CI/CD pipeline with multi-platform builds CI for multi-platform builds Jul 26, 2025
- 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants