---
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
