diff --git a/.travis.yml b/.travis.yml index 84b3695..088342d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -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 diff --git a/Dockerfile b/Dockerfile index e32a5a3..7629a5d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -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/ diff --git a/scripts/deploy.sh b/scripts/deploy.sh deleted file mode 100755 index ddd68f6..0000000 --- a/scripts/deploy.sh +++ /dev/null @@ -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