twisted_trunk.yml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. name: Twisted Trunk
  2. on:
  3. schedule:
  4. - cron: 0 8 * * *
  5. workflow_dispatch:
  6. jobs:
  7. mypy:
  8. runs-on: ubuntu-latest
  9. steps:
  10. - uses: actions/checkout@v2
  11. - uses: actions/setup-python@v2
  12. - run: .ci/patch_for_twisted_trunk.sh
  13. - run: pip install tox
  14. - run: tox -e mypy
  15. trial:
  16. runs-on: ubuntu-latest
  17. steps:
  18. - uses: actions/checkout@v2
  19. - run: sudo apt-get -qq install xmlsec1
  20. - uses: actions/setup-python@v2
  21. with:
  22. python-version: 3.6
  23. - run: .ci/patch_for_twisted_trunk.sh
  24. - run: pip install tox
  25. - run: tox -e py
  26. env:
  27. TRIAL_FLAGS: "--jobs=2"
  28. - name: Dump logs
  29. # Note: Dumps to workflow logs instead of using actions/upload-artifact
  30. # This keeps logs colocated with failing jobs
  31. # It also ignores find's exit code; this is a best effort affair
  32. run: >-
  33. find _trial_temp -name '*.log'
  34. -exec echo "::group::{}" \;
  35. -exec cat {} \;
  36. -exec echo "::endgroup::" \;
  37. || true
  38. sytest:
  39. runs-on: ubuntu-latest
  40. container:
  41. image: matrixdotorg/sytest-synapse:buster
  42. volumes:
  43. - ${{ github.workspace }}:/src
  44. steps:
  45. - uses: actions/checkout@v2
  46. - name: Patch dependencies
  47. run: .ci/patch_for_twisted_trunk.sh
  48. working-directory: /src
  49. - name: Run SyTest
  50. run: /bootstrap.sh synapse
  51. working-directory: /src
  52. - name: Summarise results.tap
  53. if: ${{ always() }}
  54. run: /sytest/scripts/tap_to_gha.pl /logs/results.tap
  55. - name: Upload SyTest logs
  56. uses: actions/upload-artifact@v2
  57. if: ${{ always() }}
  58. with:
  59. name: Sytest Logs - ${{ job.status }} - (${{ join(matrix.*, ', ') }})
  60. path: |
  61. /logs/results.tap
  62. /logs/**/*.log*
  63. # open an issue if the build fails, so we know about it.
  64. open-issue:
  65. if: failure()
  66. needs:
  67. - mypy
  68. - trial
  69. - sytest
  70. runs-on: ubuntu-latest
  71. steps:
  72. - uses: actions/checkout@v2
  73. - uses: JasonEtco/create-an-issue@5d9504915f79f9cc6d791934b8ef34f2353dd74d # v2.5.0, 2020-12-06
  74. env:
  75. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  76. with:
  77. update_existing: true
  78. filename: .ci/twisted_trunk_build_failed_issue_template.md