.travis.yml 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. jobs:
  2. include:
  3. - stage: build
  4. language: minimal
  5. services:
  6. - docker
  7. script:
  8. - docker build -t $IMAGE_NAME:$TRAVIS_COMMIT .
  9. - echo $DOCKERHUB_PASSWORD | docker login -u $DOCKERHUB_USERNAME --password-stdin
  10. - docker push $IMAGE_NAME:$TRAVIS_COMMIT
  11. - stage: deploy
  12. if: (NOT type IN (pull_request)) AND (branch = master)
  13. language: minimal
  14. services:
  15. - docker
  16. script:
  17. - docker pull $IMAGE_NAME:$TRAVIS_COMMIT
  18. - docker tag $IMAGE_NAME:$TRAVIS_COMMIT $IMAGE_NAME:latest
  19. - echo $DOCKERHUB_PASSWORD | docker login -u $DOCKERHUB_USERNAME --password-stdin
  20. - docker push $IMAGE_NAME:latest
  21. - stage: test
  22. sudo: required
  23. dist: bionic
  24. language: python
  25. addons:
  26. chrome: stable
  27. python:
  28. - 3.6
  29. services:
  30. - docker
  31. - xvfb
  32. script:
  33. - sudo apt update
  34. - sudo apt install --force-yes chromium-browser chromium-chromedriver
  35. - pip3 install --upgrade pip
  36. - pip3 install -U seleniumbase pytest
  37. - docker run -d -p 127.0.0.1:8080:8080/tcp $IMAGE_NAME:$TRAVIS_COMMIT
  38. - sleep 10
  39. - cd tests
  40. - pytest --headless -n 8 --reruns 10 --reruns-delay 2