api-docs-test.yml 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. name: api docs
  2. on:
  3. push:
  4. branches:
  5. - master
  6. pull_request:
  7. branches:
  8. - master
  9. jobs:
  10. test:
  11. name: api docs test
  12. runs-on: ubuntu-16.04
  13. steps:
  14. - uses: actions/checkout@v2
  15. - name: Check for python and `api-docs` file changes
  16. uses: getsentry/paths-filter@v2
  17. id: changes
  18. with:
  19. token: ${{ github.token }}
  20. filters: .github/file-filters.yml
  21. - uses: volta-cli/action@v1
  22. if: steps.changes.outputs.api_docs == 'true'
  23. - name: Set python version output
  24. id: python-version
  25. if: steps.changes.outputs.api_docs == 'true'
  26. run: |
  27. echo "::set-output name=python-version::$(cat .python-version)"
  28. # Until GH composite actions can use `uses`, we need to setup python here
  29. - uses: actions/setup-python@v2
  30. if: steps.changes.outputs.api_docs == 'true'
  31. with:
  32. python-version: ${{ steps.python-version.outputs.python-version }}
  33. - name: Setup pip
  34. uses: ./.github/actions/setup-pip
  35. id: pip
  36. if: steps.changes.outputs.api_docs == 'true'
  37. - name: pip cache
  38. uses: actions/cache@v2
  39. if: steps.changes.outputs.api_docs == 'true'
  40. with:
  41. path: ${{ steps.pip.outputs.pip-cache-dir }}
  42. key: ${{ runner.os }}-pip-py${{ steps.python-version.outputs.python-version }}-${{ hashFiles('**/requirements-*.txt') }}
  43. restore-keys: |
  44. ${{ runner.os }}-pip-py${{ steps.python-version.outputs.python-version }}
  45. - name: Setup sentry python env
  46. uses: ./.github/actions/setup-sentry
  47. id: setup
  48. if: steps.changes.outputs.api_docs == 'true'
  49. with:
  50. snuba: true
  51. - name: Install Javascript Dependencies
  52. if: steps.changes.outputs.api_docs == 'true'
  53. run: |
  54. cd api-docs && yarn install --frozen-lockfile
  55. - name: Run API docs tests
  56. if: steps.changes.outputs.api_docs == 'true'
  57. run: |
  58. make test-api-docs