diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3f63eb5171ec17bcdc094a188004b9f77f272e18..25f56d78700b5780938314fe2328b78d14533ce1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,8 +1,6 @@ stages: - - build_standalone - - test_standalone - - build_integrated - - test_integrated + - build + - test - deploy variables: @@ -22,7 +20,7 @@ cache: - .cache/pip build_wheel: - stage: build_standalone + stage: build image: name: registry.edugit.org/teckids/docker-images/python-pimped:master script: @@ -31,19 +29,8 @@ build_wheel: paths: - dist/ -test_wheel: - stage: test_standalone - image: - name: registry.edugit.org/teckids/docker-images/python-pimped:master - before_script: - - adduser --disabled-password --gecos "Test User" testuser - script: - - poetry export --without-hashes --dev -f requirements.txt | pip install -r /dev/stdin - - eatmydata pip install dist/*.whl - - sudo -u testuser eatmydata tox - build_docker: - stage: build_integrated + stage: build image: name: gcr.io/kaniko-project/executor:debug entrypoint: [""] @@ -62,8 +49,24 @@ build_docker: --cache=true --cleanup -test_docker_selenium: - stage: test_integrated +test_wheel: + stage: test + image: + name: registry.edugit.org/teckids/docker-images/python-pimped:master + before_script: + - apt-get -y update && eatmydata apt-get -y install chromium-driver + - adduser --disabled-password --gecos "Test User" testuser + - mkdir -p screenshots && chown testuser screenshots + script: + - poetry export --without-hashes --dev -f requirements.txt | pip install -r /dev/stdin + - eatmydata pip install dist/*.whl + - sudo -u testuser eatmydata env TEST_SCREENSHOT_PATH=./screenshots tox + artifacts: + paths: + - screenshots/ + +test_docker: + stage: test image: name: registry.edugit.org/teckids/docker-images/python-pimped:master services: @@ -73,17 +76,8 @@ test_docker_selenium: alias: memcached - name: registry.edugit.org/biscuit/biscuit-ng:${CI_COMMIT_REF_NAME} alias: app - before_script: - - apt-get -y update && eatmydata apt-get -y install chromium-driver - - eatmydata pip install selenium pytest-selenium - - poetry export --without-hashes --dev -f requirements.txt | pip install -r /dev/stdin - - eatmydata pip install dist/*.whl - - adduser --disabled-password --gecos "Test User" testuser script: - - sudo -u testuser eatmydata tox -e selenium - artifacts: - paths: - - screenshots/ + - echo true deploy_demo-master: stage: deploy diff --git a/tox.ini b/tox.ini index 2dddf9f8be83fb8d39df1e44bf4de382ee004e9e..863f4f06c3339196dadc41ad97d3b1d581620186 100644 --- a/tox.ini +++ b/tox.ini @@ -7,6 +7,8 @@ whitelist_externals = poetry pytest skip_install = true commands = pytest --pylama --cov=biscuit biscuit/core/ +setenv = + TEST_SCREENSHOT_PATH = {env:TEST_SCREENSHOT_PATH} [pylama] linters = pycodestyle,pyflakes,radon