image: repo.n64.cc:443/nosial/ncc:latest

stages:
    - build
    - publish

variables:
    PACKAGE_NAME: $CI_COMMIT_REF_NAME

build:
    stage: build
    script:
        - ncc build --config release --log-level debug -o "build/release/net.nosial.loglib.ncc"
    artifacts:
        paths:
            - "build/release/net.nosial.loglib.ncc"

build_static:
    stage: build
    script:
        - ncc project install
        - ncc build --config release_static --log-level debug -o "build/release/net.nosial.loglib_static.ncc"
    artifacts:
        paths:
            - "build/release/net.nosial.loglib_static.ncc"

publish:
    stage: publish
    before_script:
        - 'if [ "$CI_COMMIT_REF_NAME" == "master" ]; then PACKAGE_NAME="latest"; fi'
    script:
        - |
            curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file build/release/net.nosial.loglib.ncc \
              "https://$CI_SERVER_HOST/api/v4/projects/$CI_PROJECT_ID/packages/generic/${PACKAGE_NAME}/${CI_COMMIT_SHA}/net.nosial.loglib.ncc"

publish_static:
    stage: publish
    before_script:
        - 'if [ "$CI_COMMIT_REF_NAME" == "master" ]; then PACKAGE_NAME="latest"; fi'
    script:
        - |
            curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file build/release/net.nosial.loglib_static.ncc \
              "https://$CI_SERVER_HOST/api/v4/projects/$CI_PROJECT_ID/packages/generic/${PACKAGE_NAME}/${CI_COMMIT_SHA}/net.nosial.loglib_static.ncc"