integration.yaml 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. name: Integration
  2. # Run this workflow every time a new commit pushed to your repository
  3. on: [push, pull_request]
  4. jobs:
  5. # Set the job key. The key is displayed as the job name
  6. # when a job name is not provided
  7. integration:
  8. # Name the Job
  9. name: Run mock integration tests
  10. # Set the type of machine to run on
  11. runs-on: ubuntu-latest
  12. strategy:
  13. matrix:
  14. python-version: ['3.8']
  15. cloud-provider: ['aws', 'azure', 'gcp', 'mock', 'openstack']
  16. steps:
  17. - name: Checkout code
  18. uses: actions/checkout@v2
  19. - uses: actions/setup-python@v2
  20. with:
  21. python-version: ${{ matrix.python-version }}
  22. - name: Cache pip dir
  23. uses: actions/cache@v2
  24. with:
  25. path: ~/.cache/pip
  26. key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('**/setup.py', '**/requirements.txt') }}
  27. - name: Install required packages
  28. run: pip install tox
  29. - name: Run tox
  30. run: tox -e ${{ matrix.python-version }}-${{ cloud-provider }}
  31. - name: Coveralls
  32. uses: coverallsapp/github-action@master
  33. with:
  34. github-token: ${{ secrets.GITHUB_TOKEN }}
  35. flag-name: run-${{ matrix.python-version }}-${{ cloud-provider }}
  36. parallel: true
  37. finish:
  38. needs: integration
  39. runs-on: ubuntu-latest
  40. steps:
  41. - name: Coveralls Finished
  42. uses: coverallsapp/github-action@master
  43. with:
  44. github-token: ${{ secrets.github_token }}
  45. parallel-finished: true