integration.yml 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. ---
  2. name: Integration
  3. # yamllint disable-line rule:truthy
  4. on:
  5. push:
  6. branches:
  7. - master
  8. pull_request:
  9. branches:
  10. - master
  11. concurrency:
  12. group: ${{ github.workflow }}-${{ github.ref_name }}
  13. cancel-in-progress: false
  14. permissions:
  15. contents: read
  16. env:
  17. PYTHON_VERSION: "3.13"
  18. jobs:
  19. test:
  20. name: Python ${{ matrix.python-version }}
  21. runs-on: ubuntu-24.04
  22. strategy:
  23. matrix:
  24. python-version:
  25. - "3.9"
  26. - "3.10"
  27. - "3.11"
  28. - "3.12"
  29. - "3.13"
  30. steps:
  31. - name: Setup Python
  32. uses: actions/setup-python@v5
  33. with:
  34. python-version: "${{ matrix.python-version }}"
  35. - name: Checkout
  36. uses: actions/checkout@v4
  37. with:
  38. persist-credentials: "false"
  39. - name: Setup cache Python
  40. uses: actions/cache@v4
  41. with:
  42. key: "python-${{ matrix.python-version }}-${{ runner.arch }}-${{ hashFiles('./requirements*.txt') }}"
  43. restore-keys: "python-${{ matrix.python-version }}-${{ runner.arch }}-"
  44. path: "./local/"
  45. - name: Setup venv
  46. run: make V=1 install
  47. - name: Run tests
  48. run: make V=1 ci.test
  49. theme:
  50. name: Theme
  51. runs-on: ubuntu-24.04-arm
  52. steps:
  53. - name: Setup Python
  54. uses: actions/setup-python@v5
  55. with:
  56. python-version: "${{ env.PYTHON_VERSION }}"
  57. - name: Checkout
  58. uses: actions/checkout@v4
  59. with:
  60. persist-credentials: "false"
  61. - name: Setup Node.js
  62. uses: actions/setup-node@v4
  63. with:
  64. node-version-file: "./.nvmrc"
  65. - name: Setup cache Node.js
  66. uses: actions/cache@v4
  67. with:
  68. key: "nodejs-${{ runner.arch }}-${{ hashFiles('./.nvmrc', './package.json') }}"
  69. path: "./client/simple/node_modules/"
  70. - name: Setup cache Python
  71. uses: actions/cache@v4
  72. with:
  73. key: "python-${{ env.PYTHON_VERSION }}-${{ runner.arch }}-${{ hashFiles('./requirements*.txt') }}"
  74. restore-keys: "python-${{ env.PYTHON_VERSION }}-${{ runner.arch }}-"
  75. path: "./local/"
  76. - name: Setup venv
  77. run: make V=1 install
  78. - name: Build
  79. run: make themes.all