image: php:8.1

before_script:
    # Install some stuff that the image doesn't come with
    - apt update -yqq
    - apt install git libpq-dev libzip-dev zip make wget gnupg -yqq

    # Install phive
    - wget -O phive.phar https://phar.io/releases/phive.phar
    - wget -O phive.phar.asc https://phar.io/releases/phive.phar.asc
    - gpg --keyserver hkps://keys.openpgp.org --recv-keys 0x9D8A98B29B2D5D79
    - gpg --verify phive.phar.asc phive.phar
    - chmod +x phive.phar
    - mv phive.phar /usr/local/bin/phive

    # Install phab
    - phive install phpab --global --trust-gpg-keys 0x2A8299CE842DD38C

    # Install the latest version of ncc (Nosial Code Compiler)
    - git clone https://git.n64.cc/nosial/ncc.git
    - cd ncc
    - make redist
    - php build/src/INSTALL --auto --install-composer
    - cd .. && rm -rf ncc

build:
    stage: build
    script:
        - ncc build --config release --log-level debug
    artifacts:
        paths:
        - build/
    rules:
        - if: $CI_COMMIT_BRANCH

release:
    stage: deploy
    script:
        - ncc build --config release --log-level debug
        - >
            curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file build/release/net.nosial.tgbotlib.ncc "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/net.nosial.tgbotlib/$CI_COMMIT_REF_NAME/net.nosial.tgbotlib.ncc"
    artifacts:
        paths:
            - build/
    rules:
        - if: $CI_COMMIT_TAG