michaeljabbour / michaeljabbour/altairbasic
Create Platform-Specific Release Builds
- Dominant language
- C++
- Stars
- 1
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
# Create Platform-Specific Release Builds
## Issue Description
The project needs a proper build and release process to create platform-specific binaries for distribution to end users. Currently, users need to build the interpreter from source, which may be challenging for non-developers.
## Objectives
1. Create automated build process for Windows, macOS, and Linux
2. Generate installer packages for easy distribution
3. Implement automatic versioning system
4. Create a release process for publishing builds
## Requirements
### For All Platforms
- Proper versioning of releases (semantic versioning)
- Include README, license, and examples
- Minimize dependencies for end users
- Create self-contained packages where possible
### Windows
- Create 64-bit executable
- Package as an MSI installer and portable ZIP
- Include Visual C++ runtime if needed
- Set up correct file associations for .bas files
### macOS
- Create Intel and ARM (Apple Silicon) builds
- Package as a DMG or PKG installer
- Support notarization for Gatekeeper
- Include proper app metadata and icons
### Linux
- Create DEB and RPM packages for Debian/Ubuntu and RHEL/Fedora
- Create portable AppImage or similar
- Include proper desktop integration
## Technical Approach
1. Set up CI/CD pipeline using GitHub Actions
2. Create build scripts for each platform
3. Implement automatic versioning based on git tags
4. Create installer configurations (WiX, pkgbuild, etc.)
5. Automate the release process
## Deliverables
1. GitHub Actions workflow files for automated builds
2. Build scripts for each platform
3. Installer configurations
4. Release documentation and process
## Priority
Medium - This improves distribution but isn't needed for development
## Notes
- Consider using CPack for generating packages
- Investigate code signing requirements for each platform
- Document the release process for future maintainers
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the proposed GitHub Actions workflow files, platform build scripts, installer configurations, and release documentation. Evaluate CPack alongside the listed installer approaches, then define how versioning, packaging, signing, and publishing should work for Windows, macOS, and Linux. Done means automated builds and documented release steps for all requested package formats.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, cpp, github-actions
- Domain
- build-system, ci-cd, devops, release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100