Merge pull request #74 from setenforce0/master
Implement CI via Travis and Docker
This commit is contained in:
commit
1877b4fd83
|
@ -0,0 +1,40 @@
|
|||
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
|
|
@ -0,0 +1,18 @@
|
|||
FROM nimlang/nim:alpine as nim
|
||||
MAINTAINER setenforce@protonmail.com
|
||||
EXPOSE 8080
|
||||
ENV HOSTNAME nitter.net
|
||||
|
||||
COPY . /src/nitter
|
||||
WORKDIR /src/nitter
|
||||
|
||||
RUN apk update \
|
||||
&& apk add libsass-dev libffi-dev openssl-dev \
|
||||
&& nimble build -y -d:release -d:hostname=${HOSTNAME} \
|
||||
&& nimble scss
|
||||
|
||||
FROM alpine
|
||||
WORKDIR /src/
|
||||
COPY --from=nim /src/nitter .
|
||||
RUN apk add pcre-dev sqlite-dev
|
||||
CMD ./nitter
|
|
@ -91,7 +91,7 @@ class BaseTestCase(BaseCase):
|
|||
super(BaseTestCase, self).tearDown()
|
||||
|
||||
def open_nitter(self, page=''):
|
||||
self.open(f'http://localhost:5000/{page}')
|
||||
self.open(f'http://localhost:8080/{page}')
|
||||
|
||||
def search_username(self, username):
|
||||
self.open_nitter()
|
||||
|
|
Loading…
Reference in New Issue