@installdoc/ansible-gas-station
Version:
An Ansible playbook that provisions your network with software from GitHub Awesome lists, developed with disaster recovery in mind ⛽🔥🤤
62 lines (54 loc) • 1.2 kB
YAML
version: '3'
tasks:
bundle:
deps:
- grex
- htmlq
- hyperfine
catfs:
run: once
cmds:
- task: install:rust
vars:
BIN_NAME: catfs
PACKAGE: catfs
clean:
cmds:
- rm -rf "$HOME/.cargo/registry"
grex:
run: once
cmds:
- task: install:rust
vars:
BIN_NAME: grex
PACKAGE: grex
htmlq:
run: once
cmds:
- task: install:rust
vars:
BIN_NAME: htmlq
PACKAGE: htmlq
hyperfine:
run: once
cmds:
- task: install:rust
vars:
BIN_NAME: hyperfine
PACKAGE: hyperfine
install:rust:
vars:
BIN: '{{if .BIN_NAME}}{{.BIN_NAME}}{{else}}{{.PACKAGE}}{{end}}'
run: when_changed
log:
error: Failed to install Cargo crate `{{.PACKAGE}}`
start: Installing Cargo crate `{{.PACKAGE}}`
success: Installed Cargo crate `{{.PACKAGE}}`
cmds:
- task: :install:software:rust
- |
if [ -n "$CI" ]; then echo "*************** cargo --> {{.PACKAGE}}"; fi
- cargo install {{.PACKAGE}}
status:
- type {{.BIN}} > /dev/null || [ -n "$NO_INSTALL_RUST" ]