.travis.yml 2.0 KB

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