image: python:3.7-alpine variables: PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip" stages: - build - test - pytest cache: paths: - settings.json - .cache/pip - venv/ test: stage: test script: - apk add libxml2-dev libxslt-dev libxml2 gcc musl-dev linux-headers - pip3.7 install virtualenv - virtualenv venv - source venv/bin/activate - pip3.7 install -r requirements.txt - sed -i -e "s/111111111111111111/$DISCORD1/g" settings.json.example - sed -i -e "s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/$DISCORD2/g" settings.json.example - mv settings.json.example settings.json - python3.7 start.py --test only: - testing pytest: stage: pytest needs: ['test'] script: - source venv/bin/activate - pip3.7 install -U pytest - PYTHONPATH=. pytest --junit-xml=report.xml artifacts: when: always reports: junit: report.xml only: - testing docker_build: stage: build script: - docker login -u $DOCKER_REGISTRY_USER -p $DOCKER_REGISTRY_PASSWORD - docker build -t friskygoat/rcgcdw:stable . - docker push friskygoat/rcgcdw:stable rules: - if: $CI_RELEASE_DESCRIPTION