SandCastle is a high performance, lightweight build tool for any language, OS or shell.
<task-name>
run the specified task.
This is a configuration file that contains all of the tasks and things that you want SandCastle to do.
Create a castle.yaml file, using castle init
or any other method of your choice.
The contents are as follows.
config: # the configuration options
log_shell_cmds: true # should it give a title for shell steps in a task?
# log_level is for the internal logging of SandCastle
log_level: debug # choose one of "info", "debug", "warn", "error" or "none" - these are
tasks: # the tasks, use the name of the task as a CLI argument
run: # the name of the task
- echo "Hello, World!" # the steps of the task
- echo "Second Step!"
deploy: # another task
- echo "Deployed!" # you can use shell commands, or any other terminal command
Now, if we wanted to run the deploy
task, we would run castle deploy
. Just like that!
- Download the
castle.exe
binary from releases page. - Add it to your
$PATH
and you're good to go!
- Download the
castle
binary from releases page. - Add it to your
$PATH
and you're good to go!
- Download the
castle-macos
binary from releases page. - Rename it to
castle
- Add it to your
$PATH
and you're good to go!
Clone the repo and run "go build". To run with a demo file, run "castle run" using SandCastle itself.
In order to run shell commands, you need to have a shell installed. SandCastle supports the following shells:
- bash
- zsh
- sh
- csh
- ksh
- tcsh
- dash
- fish