test.yml 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. name: CI
  2. on:
  3. push:
  4. paths-ignore:
  5. - '**.md'
  6. pull_request:
  7. paths-ignore:
  8. - '**.md'
  9. jobs:
  10. test:
  11. runs-on: ubuntu-latest
  12. strategy:
  13. fail-fast: false
  14. matrix:
  15. emacs_version:
  16. - 27.1
  17. - 26.3
  18. - 26.2
  19. - 26.1
  20. - 25.3
  21. - 25.2
  22. - 25.1
  23. - 24.5
  24. - 24.4
  25. - snapshot
  26. env:
  27. # We only generate a coverage report for one Emacs version
  28. # (generally the latest release version) in order to avoid
  29. # duplicate reports.
  30. coveralls_emacs_version: 27.1
  31. steps:
  32. - name: Set up Emacs
  33. uses: purcell/setup-emacs@master
  34. with:
  35. version: ${{matrix.emacs_version}}
  36. - name: Install Eldev
  37. run: curl -fsSL https://raw.github.com/doublep/eldev/master/webinstall/github-eldev | sh
  38. - name: Check out the source code
  39. uses: actions/checkout@v2
  40. - name: Install Elisp dependencies
  41. run: eldev prepare test
  42. - name: Run the test suite
  43. run: |
  44. eldev -p -dtT test
  45. - name: Run the test suite in source mode (for undercover)
  46. if: ${{ matrix.emacs_version == env.coveralls_emacs_version }}
  47. env:
  48. COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
  49. run: |
  50. eldev -s -dtT test