https://github.com/ortus-boxlang/setup-boxlang
This action allows you to setup the BoxLang JVM language with specific versions and modules.
https://github.com/ortus-boxlang/setup-boxlang
actions boxlang ci github
Last synced: 3 months ago
JSON representation
This action allows you to setup the BoxLang JVM language with specific versions and modules.
- Host: GitHub
- URL: https://github.com/ortus-boxlang/setup-boxlang
- Owner: ortus-boxlang
- License: other
- Created: 2025-06-03T22:25:17.000Z (about 1 year ago)
- Default Branch: development
- Last Pushed: 2026-02-04T10:32:48.000Z (4 months ago)
- Last Synced: 2026-02-04T20:07:45.096Z (4 months ago)
- Topics: actions, boxlang, ci, github
- Homepage: https://boxlang.io
- Size: 63.5 KB
- Stars: 2
- Watchers: 0
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.YML
- License: LICENSE
Awesome Lists containing this project
README
# β‘ Setup BoxLang GitHub Action
[](https://github.com/ortus-boxlang/setup-boxlang/releases)
[](LICENSE)
π **Automate your BoxLang setup** - This GitHub Action sets up the [BoxLang Dynamic JVM Language](https://boxlang.io) runtime for CI/CD workflows with optional CommandBox CLI and module installation.
## π Inputs
Configure your BoxLang setup using these input parameters:
| Input | Type | Default | Description |
| ------------------------ | ------------- | ------------- | ----------- |
| `boxlang-home` | string | `${GITHUB_WORKSPACE}/.boxlang` | Custom directory for BoxLang installation. Defaults to a writable directory in the workspace to avoid read-only filesystem issues. |
| `with-commandbox` | boolean | `false` | If true, it will install the latest CommandBox as well. |
| `commandbox_version` | string | `latest` | The CommandBox version to install. Only used if `with-commandbox` is true. |
| `commandbox_modules` | string | --- | If added, a comma-delimited list of CommandBox packages to install. Only used if `with-commandbox` is true. |
| `forgeboxAPIKey` | string | --- | If added, it will configure the ForgeBox API Key in CommandBox. Only used if `with-commandbox` is true. |
| `modules` | string | --- | If added, a space-delimited list of modules to install upon installation of the binary for you. |
| `version` | semver | `latest` | The BoxLang version to install, if not passed we use the latest stable. |
## π Usage
### Simple Setup
```yaml
- name: Setup BoxLang
uses: ortus-boxlang/setup-boxlang@1.1.0
```
### π¦ With BoxLang Modules
```yaml
- name: Setup BoxLang
uses: ortus-boxlang/setup-boxlang@1.1.0
with:
modules: bx-ai bx-orm bx-pdf
```
### π― Specific Version
```yaml
- name: Setup BoxLang with specific version
uses: ortus-boxlang/setup-boxlang@1.1.0
with:
version: snapshot
```
### π Custom Installation Directory
```yaml
- name: Setup BoxLang with custom installation directory
uses: ortus-boxlang/setup-boxlang@1.1.0
with:
boxlang-home: /tmp/boxlang
```
### π¦ With CommandBox
```yaml
- name: Setup BoxLang with CommandBox
uses: ortus-boxlang/setup-boxlang@1.1.0
with:
with-commandbox: true
```
### π§ CommandBox with Specific Version
```yaml
- name: Setup BoxLang with specific CommandBox version
uses: ortus-boxlang/setup-boxlang@1.1.0
with:
with-commandbox: true
commandbox_version: 6.0.0
```
### π οΈ CommandBox with Modules
```yaml
- name: Setup BoxLang with CommandBox and modules
uses: ortus-boxlang/setup-boxlang@1.1.0
with:
with-commandbox: true
commandbox_modules: commandbox-cfconfig,commandbox-dotenv
```
### βοΈ Full Configuration Example
```yaml
- name: Setup BoxLang with CommandBox (full setup)
uses: ortus-boxlang/setup-boxlang@1.1.0
with:
with-commandbox: true
commandbox_version: 6.0.0
commandbox_modules: commandbox-cfconfig,commandbox-dotenv,commandbox-fusionreactor
```
Install BoxLang with CommandBox and ForgeBox API Key:
```yaml
- name: Setup BoxLang with CommandBox and ForgeBox API Key
uses: ortus-boxlang/setup-boxlang@1.1.0
with:
with-commandbox: true
forgeboxAPIKey: ${{ secrets.FORGEBOX_API_KEY }}
```
Here is another one:
```yaml
- name: Setup BoxLang with specific version
uses: ortus-boxlang/setup-boxlang@1.1.0
with:
version: 1.1.0
```
## π¦ Action Outputs
This action provides the following outputs for use in subsequent workflow steps:
- `boxlang-version`: The version of BoxLang that was installed
- `installation-path`: The path where BoxLang was installed
## π About BoxLang
**BoxLang** is a modern dynamic JVM language that can be deployed on multiple runtimes: operating system (Windows/Mac/*nix/Embedded), web server, lambda, iOS, Android, web assembly, and more. BoxLang combines many features from different programming languages, including Java, CFML, Python, Ruby, Go, and PHP, to provide developers with a modern and expressive syntax.
### β¨ Why BoxLang?
- ποΈ **Rapid Application Development (RAD)**
- π **Dynamic, modular, and lightweight**
- β **100% Java & JVM-friendly**
- π― **Multi-runtime: CLI, Web, Lambda, Mobile, and more**
- π₯ **Not only a language but a framework**
### π Resources
- π [Website](https://boxlang.io)
- π§βπ» [Try BoxLang Online](https://try.boxlang.io)
- π [Documentation](https://boxlang.ortusbooks.com)
- π₯ [YouTube Channel](https://www.youtube.com/c/ortussolutions)
- π [BoxLang Academy](https://academy.boxlang.io)
- π» [GitHub Organization](https://github.com/ortus-boxlang)
- π¬ [Community Slack](https://boxteam.ortussolutions.com)
- π¬ [Community Forums](https://community.ortussolutions.com)
- πΈοΈ [Module Registry](https://forgebox.io/)
- π¦ [Twitter](https://x.com/TryBoxLang)
- π [LinkedIn](https://www.linkedin.com/company/tryboxlang/)
- π [Facebook](https://www.facebook.com/TryBoxLang)
- π«Ά [Support Us](https://www.patreon.com/ortussolutions)
---
Made with β€οΈ by [Ortus Solutions](https://www.ortussolutions.com)