---
stages:
  - update
  - lint
  - test
  - publish
variables:
  ANSIBLE_CONFIG: ${CI_PROJECT_DIR}/ansible.cfg
  PIP_CACHE_DIR: '${CI_PROJECT_DIR}/.cache/pip'
cache:
  key: '${CI_JOB_NAME}'
  paths:
    - .cache/pip
    - .pnpm-store
    - .venv
include:
  - remote: https://gitlab.com/megabyte-labs/gitlab-ci/-/raw/master/lint/ansible-lint.gitlab-ci.yml
  - remote: https://gitlab.com/megabyte-labs/gitlab-ci/-/raw/master/lint/eslint.gitlab-ci.yml
  - remote: https://gitlab.com/megabyte-labs/gitlab-ci/-/raw/master/lint/python/flake8.gitlab-ci.yml
  - remote: https://gitlab.com/megabyte-labs/gitlab-ci/-/raw/master/lint/hadolint.gitlab-ci.yml
  - remote: https://gitlab.com/megabyte-labs/gitlab-ci/-/raw/master/lint/prettier.gitlab-ci.yml
  - remote: https://gitlab.com/megabyte-labs/gitlab-ci/-/raw/master/lint/shellcheck.gitlab-ci.yml
  - remote: https://gitlab.com/megabyte-labs/gitlab-ci/-/raw/master/lint/yamllint.gitlab-ci.yml
  - remote: https://gitlab.com/megabyte-labs/gitlab-ci/-/raw/master/publish/semantic-release.gitlab-ci.yml
  - remote: https://gitlab.com/megabyte-labs/gitlab-ci/-/raw/master/test/ansible/role.gitlab-ci.yml
  - remote: https://gitlab.com/megabyte-labs/gitlab-ci/-/raw/master/test/ansible/role.macos.gitlab-ci.yml
  - remote: https://gitlab.com/megabyte-labs/gitlab-ci/-/raw/master/test/ansible/role.windows.gitlab-ci.yml
  - remote: https://gitlab.com/megabyte-labs/gitlab-ci/-/raw/master/update/project.gitlab-ci.yml
  - template: Dependency-Scanning.gitlab-ci.yml
  - template: Security/License-Scanning.gitlab-ci.yml
  - template: Security/Secret-Detection.gitlab-ci.yml
