--- # A pipeline is composed of independent jobs that run scripts, grouped into stages. # Stages run in sequential order, but jobs within stages run in parallel. # # For more information, see: https://docs.gitlab.com/ee/ci/yaml/index.html#stages stages: # List of stages for jobs, and their order of execution - test variables: # CI_DEBUG_TRACE: "true" SCENARIO: "default" ANSIBLE_FORCE_COLOR: 'true' PY_COLORS: '1' default: before_script: - source /opt/molecule/bin/activate - ansible --version - molecule --version after_script: - source /opt/molecule/bin/activate - molecule destroy --scenario-name ${SCENARIO} test-job: stage: test tags: - "shell" script: # make sure that Ansible Vaults are present and can be decrypted - echo "${VAULT_INSTALL_COMMON}" > ${CI_PROJECT_DIR}/molecule/${SCENARIO}/../../../lza_install_common.pass - echo "${VAULT_ROSETTA_APP}" > ${CI_PROJECT_DIR}/molecule/${SCENARIO}/../../../lza_rosetta_app.pass - export ANSIBLE_VAULT_IDENTITY_LIST="${CI_PROJECT_DIR}/molecule/${SCENARIO}/../../../lza_install_common.pass, ${CI_PROJECT_DIR}/molecule/${SCENARIO}/../../../lza_rosetta_app.pass" - rm -rf ../ansible_vaults/ - rm -rf ../ansible_lza_install_common/ - git clone https://gitlab+deploy-token-25:${VAULT_ACCESS_TOKEN}@git.slub-dresden.de/slub-referat-2-3/ansible_vaults.git ../ansible_vaults/; - git clone https://git.slub-dresden.de/digital-preservation/ansible_lza_install_common.git ../ansible_lza_install_common/; # run Molecule tests - molecule syntax --scenario-name ${SCENARIO} # We cannot use `molecule lint` anymore because: # - https://github.com/ansible-community/molecule/pull/3802 "Remove lint command" # - https://github.com/ansible-community/molecule/discussions/3825#discussioncomment-4908366 - yamllint --strict --format colored ./ - ansible-lint --format full --profile production --strict --force-color ./ - molecule create --scenario-name ${SCENARIO} - molecule converge --scenario-name ${SCENARIO} - molecule idempotence --scenario-name ${SCENARIO} # - molecule verify --scenario-name ${SCENARIO}