Weekly automated builds of Bonsai with merged pull requests from the IfcOpenShell repository.
BonsaiPR provides automated weekly releases that include the latest community contributions from IfcOpenShell. Each build:
- ✅ Merges Open Pull Requests: Automatically integrates open PRs from the community
- 🎯 Detects Draft PRs: Skips draft PRs and provides detailed skip reasons
- 🌍 Multi-Platform Builds: Windows, Linux, macOS (Intel + Apple Silicon)
- 📊 Comprehensive Reports: Detailed documentation of merged PRs, build info, and statistics
- 🔒 Source Transparency: Complete source code available in fork branches
- 🤖 Fully Automated: Runs every Sunday at 2:00 AM UTC via cron
- Testing Ground: PR authors can test their changes before official merge
- Community PRs: Includes experimental features from community contributors
- Weekly Updates: Fresh builds every week with latest PRs
- Renamed to BonsaiPR: To distinguish from official releases
Visit the Releases page to download the latest weekly build.
Each release includes builds for:
- 🐧 Linux (x64):
bonsaiPR_py311-0.8.4-alphaYYMMDD-linux-x64.zip - 🍎 macOS Intel (x64):
bonsaiPR_py311-0.8.4-alphaYYMMDD-macos-x64.zip - 🍎 macOS Apple Silicon (ARM64):
bonsaiPR_py311-0.8.4-alphaYYMMDD-macos-arm64.zip - 🪟 Windows (x64):
bonsaiPR_py311-0.8.4-alphaYYMMDD-windows-x64.zip
- Download the appropriate
.zipfile for your platform - In Blender, go to Edit > Preferences > Add-ons
- Click Install... and select the downloaded zip file
- Enable the BonsaiPR addon in the list
Each release includes a complete README file (README-bonsaiPR_py311-0.8.4-alphaYYMMDD.txt) with:
- List of successfully merged PRs
- Failed merge attempts with reasons
- Skipped PRs (drafts, inaccessible repos)
- Build details and statistics
- Release and upload information
The complete source code for each release is available in the IfcOpenShell fork repository:
- 🔗 Fork Repository: falken10vdl/IfcOpenShell
- 📂 Weekly Branches: Look for branches named
weekly-build-0.8.4-alphaYYMMDD - 📥 Download Source: Each branch can be downloaded as a ZIP archive
- 👨💻 For PR Authors: Clone and checkout these branches to test your PRs alongside other community changes
# Clone the fork repository
git clone https://github.com/falken10vdl/IfcOpenShell.git
cd IfcOpenShell
# Checkout the latest weekly build branch
git checkout weekly-build-0.8.4-alpha251021
# Your PR is now merged with other community PRs - test away!The weekly builds are powered by a comprehensive 3-stage automation system:
Stage 1: PR Merging (00_clone_merge_and_create_branch.py)
└─→ Clones IfcOpenShell, merges open PRs, creates weekly branch
└─→ Detects and skips draft PRs with detailed reasons
└─→ Creates initial README report
Stage 2: Building (01_build_bonsaiPR_addons.py)
└─→ Applies bonsai → bonsaiPR transformations
└─→ Builds addons for 4 platforms (Linux, macOS x2, Windows)
└─→ Appends build info to README report
Stage 3: Release (02_upload_to_falken10vdl.py)
└─→ Creates GitHub release with semantic versioning
└─→ Uploads 4 addon ZIPs + complete README
└─→ Appends upload info to README report
- 🔒 Secure: Token-based authentication via
.envfile (no password prompts) - 🎯 Smart PR Detection: Automatically skips draft PRs and inaccessible repositories
- 📈 Progressive Documentation: README report grows through each stage
- ♻️ Idempotent: Safe to re-run without duplicating assets
- ⏰ Scheduled: Runs every Sunday at 2:00 AM UTC via cron
- � Comprehensive Statistics: Detailed PR merge, build, and upload statistics
bonsaiPR/
├── README.md # This file
├── automation/
│ ├── .env # Environment configuration (create from .env.example)
│ ├── .env.example # Template for configuration
│ ├── README.md # Detailed automation documentation
│ ├── requirements.txt # Python dependencies
│ ├── scripts/ # 3 main automation scripts
│ │ ├── 00_clone_merge_and_create_branch.py
│ │ ├── 01_build_bonsaiPR_addons.py
│ │ └── 02_upload_to_falken10vdl.py
│ ├── src/ # Orchestration system
│ │ ├── main.py # Main entry point
│ │ └── config/ # Configuration management
│ ├── cron/ # Scheduling
│ │ └── weekly-automation.cron
│ └── logs/ # Execution logs
│ └── cron_*.log
Want to run your own BonsaiPR builds or modify the automation?
👉 See automation/README.md for:
- Complete setup instructions
- Environment configuration guide
- Manual testing procedures
- Cron installation steps
- Troubleshooting guide
⚠️ Alpha Status: These are development builds with experimental features- 🧪 Community PRs: Contains unreviewed community contributions
- 🎯 Testing Purpose: Intended for PR authors and testers, not production use
- 💾 Backup First: Always backup your Blender projects before testing
- For PR-specific issues: Contact the PR author directly (see PR list in release README)
- For build/automation issues: Open an issue in this repository
- For IfcOpenShell/Bonsai issues: Report to the official repository
- Frequency: Automated Every Sunday at 2:00 AM UTC but also "ad-hoc" if relevant changes to PRs are done between automated builds
- Naming Pattern:
v0.8.4-alphaYYMMDD(e.g.,v0.8.4-alpha251021) - What's Included: All open, non-draft PRs from IfcOpenShell as of build time
- Source Branch:
weekly-build-0.8.4-alphaYYMMDDin fork repository
- 📦 Releases: github.com/falken10vdl/bonsaiPR/releases
- 💻 Source Fork: github.com/falken10vdl/IfcOpenShell
- 🏠 Upstream: github.com/IfcOpenShell/IfcOpenShell
- 📋 Issues: github.com/falken10vdl/bonsaiPR/issues
This project is licensed under the same license as Bonsai/IfcOpenShell.
Contributions to the automation system are welcome! See automation/README.md for details on how to modify and improve the build system.
Current Version: v0.8.4-alpha (based on IfcOpenShell v0.8.0 branch)
Python Target: 3.11
Last Updated: October 21, 2025