RcGcDw/.gitlab-ci.yml

54 lines
1.2 KiB
YAML

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