# CI Build Template
.build-pexes:
    image: python:3.10
    script:
        - pip install build twine poetry pytest
        - cd ${PEX_PATH}; poetry build --with test ${PEX_PATH};cd -
        - pip install ${PEX_PATH}
        - NAME=$(awk -F' = ' '/^\[tool.poetry\]/ { project = 1; next } /^\[.*\]/ { project = 0 } project && $1 == "name" { gsub(/"/, "", $2); print $2 }' ${PEX_PATH}/pyproject.toml)
        - VERSION=$(sed -n 's/^__version__ = "\(.*\)\"$/\1/p' ${PEX_PATH}/*/__init__.py)
        - 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file ${PEX_PATH}/dist/${NAME}-${VERSION}-py3-none-any.whl "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/${NAME}/${VERSION}/${NAME}-${VERSION}-py3-none-any.whl"'
        - pytest ${PEX_PATH}/test