https://github.com/openblockcc/openblock-tools-builder
Automated builder for OpenBlock binary tools across platforms.
https://github.com/openblockcc/openblock-tools-builder
Last synced: about 1 month ago
JSON representation
Automated builder for OpenBlock binary tools across platforms.
- Host: GitHub
- URL: https://github.com/openblockcc/openblock-tools-builder
- Owner: openblockcc
- License: mit
- Created: 2026-04-21T02:15:14.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-04-21T03:07:39.000Z (2 months ago)
- Last Synced: 2026-04-21T04:35:03.777Z (2 months ago)
- Language: JavaScript
- Size: 24.4 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# openblock-tools-builder
Automated builder for OpenBlock binary tools across platforms. Packages Arduino CLI and portable Python with essential packages, then publishes platform-specific archives via GitHub Releases.
## Tool List
- **Arduino CLI** (latest)
Includes builtin tools (serial-discovery, mdns-discovery, serial-monitor, dfu-discovery, ctags) and the official Arduino package/library index files. Board packages and third-party board manager URLs are NOT included — they are configured and downloaded on-demand by the application.
- **Python 3.12** (via [python-build-standalone](https://github.com/indygreg/python-build-standalone))
Packages:
| Name | Description |
|------|-------------|
| uflash | micro:bit flashing |
| microfs | micro:bit filesystem |
| esptool | ESP32/ESP8266 flashing |
| kflash | K210 flashing |
| openblock-obmpy | OpenBlock MicroPython |
## Supported Platforms
| Platform | Description |
|----------|-------------|
| win32-x64 | Windows x64 |
| darwin-x64 | macOS x64 (Intel) |
| darwin-arm64 | macOS ARM64 (Apple Silicon) |
| linux-x64 | Linux x64 |
| linux-arm64 | Linux ARM64 |
| linux-arm | Linux ARMv7 |
## Usage
### Local Build
```bash
npm install
node scripts/build.js --platform win32-x64 --version 3.0.0
```
Or use npm scripts:
```bash
npm run build:win32-x64
npm run build:darwin-arm64
npm run build:linux-x64
```
Output files are placed in the `output/` directory:
- `openblock-tools-{platform}-v{version}.7z` — the archive
- `openblock-tools-{platform}-v{version}.7z.sha256` — SHA256 checksum
### Automated Build (GitHub Actions)
Push a version tag to trigger builds for all platforms:
```bash
git tag v3.0.0
git push origin v3.0.0
```
Or use **workflow_dispatch** to manually trigger a build from the GitHub Actions UI.
## Output Package Structure
```
Arduino/
├── arduino-cli[.exe]
├── arduino-cli.yaml
├── LICENSE.txt
├── package_index.json
├── library_index.json
└── packages/
└── builtin/
└── tools/
├── serial-discovery/
├── mdns-discovery/
├── serial-monitor/
├── dfu-discovery/
└── ctags/
Python/
├── python[.exe] (Windows)
├── python3 (macOS symlink -> bin/python3)
├── bin/ (macOS/Linux)
│ ├── python3
│ ├── esptool.py
│ └── ...
├── Scripts/ (Windows)
│ ├── esptool.exe
│ └── ...
└── lib/ or Lib/
└── site-packages/
```