GitHub Actions CI and build_fpc.sh - cross-platform build script#138
Conversation
Add GitHub Actions workflow for automated builds on 6 platforms: - x86_64-linux (ubuntu-latest) - aarch64-linux (ubuntu-24.04-arm) - x86_64-darwin (macos-15-intel) - aarch64-darwin (macos-latest) - x86_64-win64 (windows-latest + FPC OOTB) - i386-win32 (windows-latest + FPC OOTB) Add build_fpc.sh script for FPC direct builds without lazbuild: - Native and cross-compilation support - Auto-detection of FPC and Lazarus directories - Optional SQLite support (--sqlite flag) - Test builds (--tests flag) Features: - Automatic releases with checksums on version tags - Combined artifact package for all platforms - Test execution on all native platforms
Usage GuideAutomatic BuildsThe workflow runs automatically on:
No manual action needed - just push code and CI will build & test. Creating a Release with BinariesTo create a release with pre-built binaries for all 6 platforms: # 1. Tag the commit with a version number (must start with 'v')
git tag v1.0.0
# 2. Push the tag
git push origin v1.0.0That's it! GitHub Actions will automatically:
Manual Trigger (Optional)You can also trigger builds manually:
Viewing Build Status
|
|
@mvancanneyt Do you have anything to say about this? I've never used GitHub actions myself and I haven't been keeping up with the tests. My only concern about this what happens when you commit regressions. I'd think we want to choose proper release versions so we can choose which commit is safe to use. |
|
I looked at it, it's OK. If you look at line 173, you'll see that a release build is done only when a tag is created, so it is perfectly safe. Build artifacts are available when you manually trigger a build, which means that a user can easily download a 'trial' version from such a successful build. |
|
@genericptr Has this PR been reviewed? Is there still a possibility of merging it? |
|
Sorry I've been busy with work this week. Michael says this is ok and I have no idea myself so let's just try it and see how it goes. Thanks. |
Summary
build_fpc.shscript for FPC direct builds (no lazbuild dependency)Supported Platforms
Features
Test plan