michaeljabbour / michaeljabbour/altairbasic

Create Platform-Specific Release Builds

Open
#7 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.