periodic_check.yml 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. name: Periodic UX check
  2. on:
  3. schedule:
  4. - cron: 0 0 * * *
  5. workflow_dispatch:
  6. jobs:
  7. # Create strategy matrix with a python script
  8. create_matrix:
  9. name: Create matrix
  10. runs-on: ubuntu-latest
  11. outputs:
  12. matrix-json: ${{ steps.matrix.outputs.matrix }}
  13. steps:
  14. - name: Checkout code
  15. uses: actions/checkout@v3
  16. with:
  17. submodules: recursive
  18. - name: Update pip
  19. run: python -m pip install --upgrade pip
  20. - name: Install wheel
  21. run: pip install wheel
  22. - name: Install requirements
  23. run: pip install -r ./.github/scripts/requirements.txt
  24. - name: Create matrix
  25. id: matrix
  26. run: python ./.github/scripts/create_python_matrix.py true
  27. # Test the action with all possible combinations of python versions and os
  28. test_action:
  29. needs: create_matrix
  30. runs-on: ${{ matrix.os }}
  31. name: Test setup Python ${{ matrix.python-version }} for ${{ matrix.os }} with cache ${{ matrix.cache }}
  32. strategy:
  33. fail-fast: false
  34. matrix: ${{ fromJSON(needs.create_matrix.outputs.matrix-json) }}
  35. steps:
  36. - name: Checkout code
  37. uses: actions/checkout@v3
  38. with:
  39. submodules: recursive
  40. - name: Setup Python ${{ matrix.python-version }}
  41. uses: MatteoH2O1999/setup-python@v1
  42. with:
  43. python-version: ${{ matrix.python-version }}
  44. allow-build: info
  45. cache-build: ${{ matrix.cache }}
  46. - name: Check Python version
  47. run: python ./.github/scripts/check_python_version.py ${{ matrix.python-version }}