Roblox infra-as-code and deployment tool
Get StartedDescribe the Roblox infrastructure you want and Mantle will take care of the rest.
environments:
- label: dev
targetNamePrefix: environmentLabel
- label: prod
targetAccess: public
target:
experience:
configuration:
genre: building
places:
start:
file: game.rbxlx
configuration:
name: Getting Started with Mantle
description: |-
Made with Mantle
Mantle makes the minimum required changes to keep your deployments fast and stable.
Deploying resources:
╷
│ ~ Updating: placeConfiguration_start
│ ╷
│ │ Dependencies:
│ │ - place:
│ │ assetId: 8635420754
│ │ Inputs:
│ │ placeConfiguration:
│ │ - name: Getting Started with Mantle
│ │ + name: Going to the moon with Mantle
│ │ description: Made with Mantle
│ │ maxPlayerCount: 50
│ │ allowCopying: false
│ │ socialSlotType: Automatic
│ │ customSocialSlotsCount: ~
│ │
│ ╰─ Succeeded with outputs:
│ placeConfiguration
│
│
╰─ Succeeded with 0 create(s), 1 update(s), 0 delete(s), 5 noop(s), 0 skip(s)
Mantle integrates with the best of the Roblox OSS community. Install with Foreman (opens in a new tab) and build with Rojo (opens in a new tab).
[tools]
mantle = { source = "blake-mealey/mantle", version = "0.11" }
Mantle is designed for continuous deployment environments like GitHub Actions.
name: Deploy
on: push
jobs:
build-and-deploy:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: Roblox/setup-foreman@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Build project
run: rojo build --output game.rbxlx
- name: Deploy project
run: mantle deploy
env:
ROBLOSECURITY: ${{ secrets.ROBLOSECURITY }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}