https://github.com/visualdoj/build-fpc-bundle
A workflow for building free pascal compiler bundles ready for github environments
https://github.com/visualdoj/build-fpc-bundle
Last synced: 2 days ago
JSON representation
A workflow for building free pascal compiler bundles ready for github environments
- Host: GitHub
- URL: https://github.com/visualdoj/build-fpc-bundle
- Owner: visualdoj
- License: unlicense
- Created: 2021-06-03T07:46:00.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2026-04-11T18:43:19.000Z (7 days ago)
- Last Synced: 2026-04-11T20:29:45.387Z (7 days ago)
- Language: Python
- Size: 3.24 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# FPC Bundle Builder
Automated portable builds of Free Pascal Compiler from GitLab sources.
## Workflow Architecture
```
┌─────────────────────────┐ ┌─────────────────────────┐
│ check-fpc-updates.yml │ │ scheduled-builds.yml │
│ (every 6 hours) │ │ (daily/weekly) │
│ │ │ │
│ Checks GitLab for │ │ Runs on fixed schedule │
│ NEW commits only │ │ regardless of commits │
└───────────┬─────────────┘ └───────────┬─────────────┘
│ │
│ (only if new commits) │ (always)
▼ ▼
┌───────────────────────────────────────┐
│ build-orchestrator.yml │
│ │
│ - Concurrency control │
│ - Decides which tiers to build │
│ - Creates release with manifest │
└───────────────────┬───────────────────┘
│
┌───────────────┼───────────────┐
▼ ▼ ▼
┌───────────┐ ┌───────────┐ ┌───────────┐
│build-fpc- │ │build-fpc- │ │run-fpc- │
│host.yml │ │cross.yml │ │tests.yml │
│(3x: Win, │ │(3x: Win, │ │(3x: Win, │
│Linux,Mac) │ │Linux,Mac) │ │Linux,Mac) │
└───────────┘ └───────────┘ └───────────┘
```
## Build Tiers
| Tier | Targets | Schedule |
|-------|-----------------------------------------------|---------------|
| tier1 | Core targets (win32, win64, linux, darwin) | Every build |
| tier2 | Common targets (android, ios, freebsd, wasm) | Daily |
| tier3 | Extended targets (m68k, avr, z80, etc.) | Weekly |
## Configuration
- `fpc-config/versions.json` - FPC versions to build
- `fpc-config/targets.json` - Cross-compiler targets by tier
## Releases
Each FPC version gets one release (e.g., `v3.2.3-latest`) containing:
- Host compilers for Windows, Linux, macOS
- Cross-compilers for all built targets
- `manifest.json` for external discovery