From 62112cc71903dab5ec9a58c3b38ffabb42d27fd3 Mon Sep 17 00:00:00 2001
From: Rajmund Hruska <rajmund.hruska@cesnet.cz>
Date: Sun, 17 Apr 2022 09:57:15 +0000
Subject: [PATCH] Update .gitlab-ci.yml file
---
.gitlab-ci.yml | 108 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 108 insertions(+)
create mode 100644 .gitlab-ci.yml
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..f1723d7
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,108 @@
+# Official language image. Look for the different tagged releases at:
+# https://hub.docker.com/r/library/python/tags/
+image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/python:3.6
+
+# Change pip's cache directory to be inside the project directory since we can
+# only cache local items.
+variables:
+ PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
+
+# Pip's cache doesn't store the python packages
+# https://pip.pypa.io/en/stable/reference/pip_install/#caching
+#
+# If you want to also cache the installed packages, you have to install
+# them in a virtualenv and cache it as well.
+cache:
+ paths:
+ - .cache/pip
+ - venv/
+
+before_script:
+ - pip install virtualenv
+ - make show-version # Print out python version for debugging
+ - virtualenv venv
+ - source venv/bin/activate
+ - make deps
+
+stages: # List of stages for jobs, and their order of execution
+ - test
+ - build
+ - deploy
+
+unit-test-job:
+ stage: test
+ script:
+ - make test
+
+pylint-test-job:
+ stage: test
+ script:
+ - make pylint
+
+pyflakes-test-job:
+ stage: test
+ script:
+ - make pyflakes
+
+build-job:
+ stage: build
+ script:
+ - make buildbot
+ - git clone https://gitlab-ci-token:$SIGNER_TOKEN@$SIGNER_REPO
+ - bash signer/init_keyring.sh
+ - python signer/signer.py --verbose $GPG_KEY "$PWD/dist"
+ artifacts:
+ paths:
+ - dist
+ only:
+ - devel
+ - master
+
+sphinx-metadata-job:
+ stage: build
+ 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
+ artifacts:
+ paths:
+ - metadata.json
+ only:
+ - master
+ - devel
+
+twine-job:
+ stage: deploy
+ script:
+ - printf "[pypi]\nusername = __token__\npassword = $TWINE_TOKEN\n" > .pypirc
+ - mkdir dist2
+ - cp dist/*.whl dist/*.tar.gz dist2/.
+ - twine upload 'dist2/*' --skip-existing --config-file .pypirc
+ only:
+ - master
+
+pages:
+ stage: deploy
+ script:
+ - make docs
+ - curl -L --header "JOB-TOKEN:$CI_JOB_TOKEN" "$CI_API_V4_URL/projects/$CI_PROJECT_ID/jobs/artifacts/devel/download?job=pages" -o devel.zip
+ - curl -L --header "JOB-TOKEN:$CI_JOB_TOKEN" "$CI_API_V4_URL/projects/$CI_PROJECT_ID/jobs/artifacts/master/download?job=pages" -o master.zip
+ - unzip -n '*.zip' || true # Ignore not existing zipfiles
+ - mkdir -p public/"$CI_COMMIT_BRANCH"
+ - mkdir -p public/"$CI_COMMIT_BRANCH"/files
+ - cp -rf doc/_build/html public/"$CI_COMMIT_BRANCH"
+ - cp -rf dist/* public/"$CI_COMMIT_BRANCH"/files/.
+ - cd public/"$CI_COMMIT_BRANCH"/files
+ - echo "<html><body><h1>Directory listing:</h1>" > ./index.html
+ - find -exec echo "<a href='{}'>{}</a><br/>" \; | sort >> ./index.html
+ - echo "</body></html>" >> ./index.html
+ artifacts:
+ name: "$CI_COMMIT_BRANCH"
+ paths:
+ - public
+ only:
+ - master
+ - devel
\ No newline at end of file
--
GitLab