diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ffc2762..bc1c865 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -39,7 +39,6 @@ after_script: [ -n "$ZEROTIER_NETWORK_ID" ] && \ zerotier-cli leave "$ZEROTIER_NETWORK_ID" -## HOUSEKEEPING Lint: stage: lint allow_failure: yes @@ -51,45 +50,31 @@ Lint: - ansible-lint --version - ansible-lint site.yml -## TEST -.test: +Test: stage: test interruptible: yes except: - pipelines - allow_failure: - exit_codes: - - 4 + script: + - ansible-playbook --skip-tags no-test -C site.yml --vault-password-file /vaultpw || error="$?" + - if [ "$error" -eq 4 ]; then echo "Some hosts were unreachable; masking error"; unset error; fi + - if [ -n "$error" ]; then echo "Return code $error"; false; fi -pis:test: - extends: .test - script: - - ansible-playbook -l tags_pis --skip-tags no-test -C site.yml --vault-password-file /vaultpw -desktop:test: - extends: .test - script: - - ansible-playbook -l tags_desktop --skip-tags no-test -C site.yml --vault-password-file /vaultpw -prod:test: - extends: .test - script: - - ansible-playbook -l tags_prod --skip-tags no-test -C site.yml --vault-password-file /vaultpw - -## PLAY -.play: +Play_Against_Pis: stage: play - allow_failure: - exit_codes: - - 4 - -pis:play: - extends: .play script: - - ansible-playbook -l tags_pis site.yml --vault-password-file /vaultpw -desktop:play: - extends: .play + - ansible-playbook -l tags_pis site.yml --vault-password-file /vaultpw || error="$?" + - if [ "$error" -eq 4 ]; then echo "Some hosts were unreachable; masking error"; unset error; fi + - if [ -n "$error" ]; then echo "Return code $error"; false; fi +Play_Against_Desktops: + stage: play script: - - ansible-playbook -l tags_desktop site.yml --vault-password-file /vaultpw -prod:play: - extends: .play + - ansible-playbook -l tags_desktop site.yml --vault-password-file /vaultpw || error="$?" + - if [ "$error" -eq 4 ]; then echo "Some hosts were unreachable; masking error"; unset error; fi + - if [ -n "$error" ]; then echo "Return code $error"; false; fi +Play_Against_Production: + stage: play script: - - ansible-playbook -l tags_prod site.yml --vault-password-file /vaultpw + - ansible-playbook -l tags_prod site.yml --vault-password-file /vaultpw || error="$?" + - if [ "$error" -eq 4 ]; then echo "Some hosts were unreachable; masking error"; unset error; fi + - if [ -n "$error" ]; then echo "Return code $error"; false; fi