---
check-GL-token:
  stage: .pre
  image: alpine
  script:
    - |
      echo "[*] For gitlab automation jobs You need to set a variable called 'GL_TOKEN' with a Project Access Token with either 'read_api' or 'api' scope access."
      echo "[*] The variable should be available only on protected branches."

      if [ "${CI_COMMIT_REF_PROTECTED}" = "true" ]; then
          echo "[+] branch ${CI_COMMIT_REF_NAME} is protected."
          if [ ! -z "${GL_TOKEN}" ]; then
              echo "[+] GL_TOKEN is set."
              echo "[+] Everything OK."
          else
              echo "[!] GL_TOKEN not set!"
              echo "[!] semantic-release jobs will not run."
              echo "[!] badge job will not run."
              echo "[!] gitlab:recommended job will not run."
          fi
      else
          echo "[-] branch ${CI_COMMIT_REF_NAME} not protected"
          if [ "${GL_TOKEN}" ]; then
              echo "[!] GL_TOKEN is set, but the current branch is unprotected!"
              echo "[!] This is a security risk."
              echo "[!] Set the variable as protected to make it available only to protected branches."
              exit 1
          else
              echo "[+] Everything OK."
          fi
      fi
  allow_failure: true
