jobs: include: - stage: build if: (NOT type IN (pull_request)) AND (branch = master) 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 if: (NOT type IN (pull_request)) AND (branch = master) dist: bionic language: python python: - 3.6 services: - docker - xvfb script: - sudo apt update - sudo apt install --force-yes chromium-chromedriver - wget https://www.dropbox.com/s/ckuoaubd1crrj2k/Linux_x64_737173_chrome-linux.zip -O chrome.zip - unzip chrome.zip - cd chrome-linux - sudo rm /usr/bin/google-chrome - sudo ln -s chrome /usr/bin/google-chrome - cd .. - 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 - stage: pr if: type IN (pull_request) dist: bionic language: python python: - 3.6 services: - docker - xvfb script: - sudo apt update - sudo apt install --force-yes chromium-chromedriver - wget https://www.dropbox.com/s/ckuoaubd1crrj2k/Linux_x64_737173_chrome-linux.zip -O chrome.zip - unzip chrome.zip - cd chrome-linux - sudo rm /usr/bin/google-chrome - sudo ln -s chrome /usr/bin/google-chrome - cd .. - pip3 install --upgrade pip - pip3 install -U seleniumbase pytest - docker build -t $IMAGE_NAME:$TRAVIS_COMMIT . - docker run -d -p 127.0.0.1:8080:8080/tcp $IMAGE_NAME:$TRAVIS_COMMIT - sleep 10 - cd tests - pytest --headless -n 8 --reruns 3 --reruns-delay 2