@installdoc/ansible-gas-station
Version:
An Ansible playbook that provisions your network with software from GitHub Awesome lists, developed with disaster recovery in mind ⛽🔥🤤
53 lines (47 loc) • 1.51 kB
YAML
version: '3'
vars:
COMMON_FILES_URL: https://gitlab.com/megabyte-labs/common/shared.git
COMMON_FOLDER: .common
tasks:
clean:
log:
error: Error while running `rm -rf {{.COMMON_FOLDER}}`
start: Running `rm -rf {{.COMMON_FOLDER}}`
success: Successfully ran `rm -rf {{.COMMON_FOLDER}}`
cmds:
- rm -rf {{.COMMON_FOLDER}}
clone:
log:
error: Error in cloning logic for {{.COMMON_FILES_URL}}
start: Cloning {{.COMMON_FILES_URL}}
success: Successfully cloned {{.COMMON_FILES_URL}}
cmds:
- rm -rf {{.COMMON_FOLDER}}
- git clone --depth=1 {{.COMMON_FILES_URL}} {{.COMMON_FOLDER}}
- rm -rf {{.COMMON_FOLDER}}/.git
copy:
deps:
- :install:software:coreutils
- :install:software:yq
log:
error: Error copying common files
start: Copying common files
success: Copied common files
cmds:
- mv .gitlab-ci.yml old.gitlab-ci.yml
- |
PATH="$(brew --prefix)/opt/coreutils/libexec/gnubin:$PATH"
cp -rT ./{{.COMMON_FOLDER}}/common/ .
- |
yq eval-all -i 'select(fileIndex == 0) * select(fileIndex == 1)' old.gitlab-ci.yml .gitlab-ci.yml
mv old.gitlab-ci.yml .gitlab-ci.yml
- task: :common:husky:permissions
- mv {{.COMMON_FOLDER}}/.gitlab-ci.yml .gitlab-ci.yml
template:
cmds:
- task: :upstream:variables
vars:
INPUT_FILE: common.json
OUTPUT_FILE: ./.variables.json
- task: :upstream:template