Newer
Older
image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/${MENTAT_IMAGE}:latest
before_script:
- printf "AccountID $GEOIP_ACCOUNT_ID\nLicenseKey $GEOIP_LICENSE_KEY\nEditionIDs GeoLite2-ASN GeoLite2-City GeoLite2-Country\n" > /etc/GeoIP.conf
- service postgresql start
- pip install virtualenv
- virtualenv venv
- source venv/bin/activate
- make deps
stages:
- sed -i 's/\/usr\/share\/GeoIP/\/builds\/713\/mentat\/mentat-test-3\/chroot\/usr\/share\/GeoIP/g' /builds/713/mentat/mentat-test-3/conf/core/services.json.conf
- make test 2>&1 | tee errors.log
artifacts:
when: always
paths:
- errors.log
reports:
junit: nose2-junit.xml
before_script: []
stage: check-warnings
script:
- "if [[ $(grep DeprecationWarning errors.log) ]]; then cat errors.log; exit 1; fi"
allow_failure: true
stage: build
script:
- make deps-build-whl
- make build-whl
artifacts:
paths:
- dist
only:
refs:
- devel
- master
- release
changes:
- lib/mentat/__init__.py
stage: build
before_script: []
script:
- printf "{\n\"codename\":\"$CI_COMMIT_BRANCH\",\n" > metadata.json
- printf "\"suite\":$(if [ "$CI_COMMIT_BRANCH" == "master" ]; then echo \"stable\"; else echo \"unstable\"; fi),\n" >> metadata.json
- printf "\"bversion\":\"$(make show-version)\",\n" >> metadata.json
- printf "\"revision\":\"$CI_COMMIT_SHA\",\n" >> metadata.json
- printf "\"bnumber\":\"$CI_PIPELINE_ID\",\n" >> metadata.json
- printf "\"bdate\":\"$(date '+%Y-%m-%d %T')\"\n}\n" >> metadata.json
- mv metadata.json doc/sphinx/.
artifacts:
paths:
- doc/sphinx/metadata.json
only:
- master
- devel
- release
- printf "[pypi]\nusername = __token__\npassword = $TWINE_TOKEN\n" > .pypirc # Set credentials for pypi.org
- cp dist/*.whl dist/*.tar.gz dist2/. # Get only .whl and .tar.gz files
#- twine upload 'dist2/*' --skip-existing --config-file .pypirc # Upload to pypi.org
- TWINE_PASSWORD=${CI_JOB_TOKEN} TWINE_USERNAME=gitlab-ci-token python -m twine upload --repository-url ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/pypi dist2/* # Upload to GitLab's package registry
only:
refs:
- master
- devel
- release
changes:
- lib/mentat/__init__.py
- make docs # Build documentation
- for branch in devel master release; do curl -L --header "JOB-TOKEN:$CI_JOB_TOKEN" "$CI_API_V4_URL/projects/$CI_PROJECT_ID/jobs/artifacts/$branch/download?job=pages" -o $branch.zip; done # Download the documentation from devel, master and release branches
- unzip -o '*.zip' || true # Unzip downloaded documentation while ignoring not existing files
- mkdir -p public/"$CI_COMMIT_BRANCH" # Create directory for docs for this branch if it doesn't exist
- cp -rf doc/sphinx/_build/html public/"$CI_COMMIT_BRANCH" # Copy docs to shared folder used by GitLab to publish Pages
artifacts:
name: "$CI_COMMIT_BRANCH"
paths:
- public
only:
- master
- devel
- release
- case "$CI_COMMIT_BRANCH" in "devel") SUITE="development" ;; "release") SUITE="release" ;; "master") SUITE="production" ;; esac
- make build-deb BUILD_NUMBER=$CI_PIPELINE_ID BUILD_SUITE=$SUITE
- curl --request PUT --user "gitlab-ci-token:$CI_JOB_TOKEN" "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/debian/$DEB_VERSION?distribution=$SUITE&component=main" --upload-file "debdist/$DEB_VERSION"
only:
refs:
- devel
- master
- release
changes:
- packaging/debian/changelog