Moved tests from Dockerfile to Travis

This commit is contained in:
Kadin Buckton 2019-10-12 14:29:55 -04:00
parent ebb1e319cd
commit a39a16a4a9
3 changed files with 42 additions and 17 deletions

View file

@ -1,8 +1,40 @@
sudo: required
language: minimal
services:
- docker
script:
- sh scripts/deploy.sh
jobs:
include:
- stage: build
language: minimal
services:
- docker
script:
- docker build -t $IMAGE_NAME:$TRAVIS_COMMIT .
- echo $DOCKERHUB_PASSWORD | docker login -u $DOCKERHUB_USERNAME --password-stdin
- docker push $IMAGE_NAME:$TRAVIS_COMMIT
- stage: deploy
if: (NOT type IN (pull_request)) AND (branch = master)
language: minimal
services:
- docker
script:
- docker pull $IMAGE_NAME:$TRAVIS_COMMIT
- docker tag $IMAGE_NAME:$TRAVIS_COMMIT $IMAGE_NAME:latest
- echo $DOCKERHUB_PASSWORD | docker login -u $DOCKERHUB_USERNAME --password-stdin
- docker push $IMAGE_NAME:latest
- stage: test
sudo: required
dist: bionic
language: python
addons:
chrome: stable
python:
- 3.6
services:
- docker
- xvfb
script:
- sudo apt update
- sudo apt install --force-yes chromium-browser chromium-chromedriver
- pip3 install --upgrade pip
- pip3 install -U seleniumbase pytest
- docker run -d -p 127.0.0.1:8080:8080/tcp $IMAGE_NAME:$TRAVIS_COMMIT
- sleep 10
- cd tests
- pytest --headless -n 8 --reruns 10 --reruns-delay 2

View file

@ -7,12 +7,9 @@ COPY . /src/nitter
WORKDIR /src/nitter
RUN apk update \
&& apk add python3 python3-dev bash libsass libsass-dev chromium chromium-chromedriver libffi libffi-dev openssl-dev \
&& pip3 install --upgrade pip && pip3 install -U seleniumbase pytest \
&& apk add libsass-dev libffi-dev openssl-dev \
&& nimble build -y -d:release -d:hostname=${HOSTNAME} \
&& nimble scss \
&& mkdir -p ./tmp \
&& bash -c "./nitter & cd tests && pytest --headless -n 8 --reruns 5 --reruns-delay 1 && kill %1"
&& nimble scss
FROM alpine
WORKDIR /src/

View file

@ -1,4 +0,0 @@
#!/bin/sh
docker build -t $IMAGE_NAME . \
&& echo $DOCKERHUB_PASSWORD | docker login -u $DOCKERHUB_USERNAME --password-stdin \
&& docker push $IMAGE_NAME:latest