.travis.yml 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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. dist: bionic
  25. language: python
  26. python:
  27. - 3.6
  28. services:
  29. - docker
  30. - xvfb
  31. script:
  32. - sudo apt update
  33. - sudo apt install --force-yes chromium-chromedriver
  34. - wget https://www.dropbox.com/s/ckuoaubd1crrj2k/Linux_x64_737173_chrome-linux.zip -O chrome.zip
  35. - unzip chrome.zip
  36. - cd chrome-linux
  37. - sudo rm /usr/bin/google-chrome
  38. - sudo ln -s chrome /usr/bin/google-chrome
  39. - cd ..
  40. - pip3 install --upgrade pip
  41. - pip3 install -U seleniumbase pytest
  42. - docker run -d -p 127.0.0.1:8080:8080/tcp $IMAGE_NAME:$TRAVIS_COMMIT
  43. - sleep 10
  44. - cd tests
  45. - pytest --headless -n 8 --reruns 10 --reruns-delay 2
  46. - stage: pr
  47. if: type IN (pull_request)
  48. dist: bionic
  49. language: python
  50. python:
  51. - 3.6
  52. services:
  53. - docker
  54. - xvfb
  55. script:
  56. - sudo apt update
  57. - sudo apt install --force-yes chromium-chromedriver
  58. - wget https://www.dropbox.com/s/ckuoaubd1crrj2k/Linux_x64_737173_chrome-linux.zip -O chrome.zip
  59. - unzip chrome.zip
  60. - cd chrome-linux
  61. - sudo rm /usr/bin/google-chrome
  62. - sudo ln -s chrome /usr/bin/google-chrome
  63. - cd ..
  64. - pip3 install --upgrade pip
  65. - pip3 install -U seleniumbase pytest
  66. - docker build -t $IMAGE_NAME:$TRAVIS_COMMIT .
  67. - docker run -d -p 127.0.0.1:8080:8080/tcp $IMAGE_NAME:$TRAVIS_COMMIT
  68. - sleep 10
  69. - cd tests
  70. - pytest --headless -n 8 --reruns 3 --reruns-delay 2