UNPKG

@installdoc/ansible-gas-station

Version:

An Ansible playbook that provisions your network with software from GitHub Awesome lists, developed with disaster recovery in mind ⛽🔥🤤

219 lines (208 loc) 8.19 kB
--- version: '3' tasks: common: log: error: Error updating common repository start: Updating common repository success: Finished updating common repository cmds: - task: :upstream:common:reset - task: :upstream:common:clone - task: :upstream:common:copy - task: :upstream:common:merge - task: :upstream:common:clean - task: :upstream:common:template - task: :upstream:common:combine - task: :vscode:generate - task: :install:modules:local:lockfiles - task: :fix:eslint commondocs: log: error: Error updating common documents repository start: Updating common documents repository success: Finished updating common documents repository cmds: - task: :upstream:commondocs:clone - task: :upstream:commondocs:copy - task: :upstream:commondocs:clean - task: :upstream:commondocs:template - task: :vscode:generate - task: :install:modules:local:lockfiles - task: :fix:eslint docs: log: error: Error updating document repository start: Updating document repository success: Finished updating document repository cmds: - task: :upstream:docs:clone - task: :upstream:docs:copy - task: :upstream:docs:merge - task: :upstream:docs:clean - task: :upstream:docs:template - task: :vscode:generate - task: :install:modules:local:lockfiles - task: :fix:eslint project: log: error: Error updating project repository start: Running project update logic success: Finished running project update logic cmds: - task: pull - task: :upstream:project:clone - task: :upstream:project:copy - task: :upstream:project:clean - task: :upstream:project:template - task: :upstream:project:boilerplate - task: :vscode:generate - task: :upstream:project:merge:package:overrides - task: :common:update:update - task: :install:modules:local:lockfiles - task: :fix:eslint - task: :git:commit:automated - task: :git:push:all - task: :{{if eq .REPOSITORY_SUBTYPE "role"}}ansible:galaxy:import{{else}}donothing{{end}} project:scaffold-only: log: error: Error scaffolding project start: Scaffolding project success: Finished scaffolding project cmds: - task: pull - task: :upstream:project:clone - task: :upstream:project:copy - task: :upstream:project:clean - task: :upstream:project:template - task: :upstream:project:boilerplate - task: :vscode:generate - task: :upstream:project:merge:package:overrides - SKIP_UPLOADING=true task common:update:update - task: :install:modules:local:lockfiles - task: :fix:eslint pull: deps: - :install:software:git log: error: Error executing initial `git pull` logic start: Determining whether or not to `git pull` success: Finished initial `git pull` logic cmds: - | if ([ -f "$HOME/.ssh/known_hosts" ] && [ ! -n "$(grep "^gitlab.com " "$HOME/.ssh/known_hosts")" ]) || [[ "${container:=}" == "docker" ]]; then if [ -z "$GITLAB_CI" ]; then if [ -d "$HOME/.ssh" ]; then ssh-keyscan gitlab.com >> "$HOME/.ssh/known_hosts" 2> /dev/null fi git config url."https://gitlab.com/".insteadOf git@gitlab.com: fi fi - cmd: if git branch -r | grep origin > /dev/null; then git pull --ff-only; fi ignore_error: true - cmd: git config --unset url."https://gitlab.com/".insteadOf ignore_error: true shared: log: error: Error running shared repository update logic start: Running shared repository update logic success: Finished running shared repository update logic cmds: - task: pull - task: :upstream:shared:copy - task: :upstream:shared:variables - task: :upstream:shared:template - task: :vscode:generate - task: :install:modules:local:lockfiles - task: :fix:eslint template: cmds: - task: template:liquidjs template:liquidjs: deps: - :install:modules:local - :install:npm:liquidjs - :install:software:jq vars: PYTHON_BREW_NOTICE: In order for this file to be generated, the customPyPiPackageName needs to be specified in the blueprint section of package.json and the PyPi package needs to be installed on the system. env: TMP: sh: mktemp log: error: Error encountered while generating files from `liquid` template files start: Generating files from `liquid` template files success: Successfully generated files from templates cmds: - | if [[ '{{.REPOSITORY_TYPE}}' == 'python' ]] && [ -f '.config/brew/python.rb.liquid' ]; then BINARY_NAME="$(jq -r '.customPyPiPackageName' .variables.json)" if [[ "$BINARY_NAME" == 'null' ]] || ! type "$BINARY_NAME" &> /dev/null; then echo "{{.PYTHON_BREW_NOTICE}}" > .config/brew/python.rb.liquid fi fi - cp package.json package.json.bak - | function handlebars() { FILE="$1" TMP="$(mktemp)" {{.NPX_HANDLE}}hbs --data .variables.json --helper ./.config/hbs.cjs "$FILE" --stdout > "$TMP" mv "$TMP" "${FILE//.liquid}" rm "$FILE" } while read FILE; do handlebars "$FILE" done < <(find . -type f -not \( {{.ADDITIONAL_IGNORE_FOLDERS}} {{.IGNORE_FOLDERS}} \) -prune -name '*.liquid') while read CONFIG_FILE; do handlebars "$CONFIG_FILE" done < <(find .config -type f -name '*.liquid') wait - | function ensureKeywords() { if [ ! -f "$1" ]; then echo "{}" > "$1"; fi KEYWORDS="$(jq -r '.keywords' "$1")" if [[ "$KEYWORDS" == 'null' ]] || [[ "$KEYWORDS" == '' ]]; then TMP="$(mktemp)" jq -r '.keywords = [] | .' "$1" > "$TMP" mv "$TMP" "$1" fi } ensureKeywords package.json.bak - jq -s -S --arg blueprint "$(jq -r '.blueprint' package.json.bak)" --arg keywords "$(jq '.keywords[]' package.json.bak package.json | jq -s '. | unique')" --argjson private "$(jq -r '.private' package.json.bak | sed 's/^null$/true/')" --arg version "$(jq -r '.version' package.json.bak | sed 's/^null$/0.0.1/')" '.[0] * .[1] | .keywords = ($keywords | fromjson) | .blueprint = ($blueprint | fromjson) | .private = $private | .version = $version | .' package.json.bak package.json > "$TMP" - mv "$TMP" package.json - rm package.json.bak variables: deps: - :install:software:jq env: FILE_INPUT: sh: if [ -f '{{.INPUT_FILE}}' ]; then echo {{.INPUT_FILE}}; else echo ".variables.json"; fi TMP: sh: mktemp log: error: Encountered error while injecting `{{.OUTPUT_FILE}}` with variables start: Injecting `{{.OUTPUT_FILE}}` with variables success: Successfully injected `{{.OUTPUT_FILE}}` with variables cmds: - | if [[ "$(jq '.keywords' package.json)" == 'null' ]]; then TMP_KEYWORDS="$(mktemp)" jq '.keywords = []' package.json > "$TMP_KEYWORDS" mv "$TMP_KEYWORDS" package.json fi - jq --arg blueprint "$(jq -r '.blueprint' package.json | sed 's/^null$/{}/')" --arg version "$(jq -r '.version' package.json | sed 's/^null$/0.0.1/')" --arg poetry "$(jq -r '.keywords | join("\", \"")' package.json | sed 's/$/"/' | sed 's/^/"/')" --arg encoded "$(jq -r '.blueprint.repository.gitlab' package.json | sed 's/https:\/\/gitlab.com\///' | sed 's/\//%252F/g')" -S '. = (. * ($blueprint | fromjson)) | .version = $version | .poetryKeywords = $poetry | .gitlab_encoded_path = $encoded' "$FILE_INPUT" > "$TMP" - mv "$TMP" {{.OUTPUT_FILE}} - | if [ '{{.REPOSITORY_TYPE}}' == 'ansible' ] && [ -f meta/main.yml ]; then task ansible:update:variables:descriptions fi