summary refs log tree commit diff
path: root/.github/workflows/twisted_trunk.yml
blob: b31b5dd0f12c5ec24ba591f77779a79a9f78604d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
name: Twisted Trunk

on:
  schedule:
    - cron: 0 8 * * *

  workflow_dispatch:
  pull_request:

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  mypy:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      - uses: matrix-org/setup-python-poetry@dmr/try-extras
        with:
          python-version: "3.x"
          extras: "all"
      - run: .ci/patch_for_twisted_trunk.sh
      - run: poetry run mypy

  trial:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      - run: sudo apt-get -qq install xmlsec1
      - uses: matrix-org/setup-python-poetry@dmr/try-extras
        with:
          python-version: "3.x"
          extras: "all test"
      - run: .ci/patch_for_twisted_trunk.sh
      - run: poetry run trial --jobs 2 tests

      - name: Dump logs
        # Logs are most useful when the command fails, always include them.
        if: ${{ always() }}
        # Note: Dumps to workflow logs instead of using actions/upload-artifact
        #       This keeps logs colocated with failing jobs
        #       It also ignores find's exit code; this is a best effort affair
        run: >-
          find _trial_temp -name '*.log'
          -exec echo "::group::{}" \;
          -exec cat {} \;
          -exec echo "::endgroup::" \;
          || true

  sytest:
    runs-on: ubuntu-latest
    container:
      image: matrixdotorg/sytest-synapse:buster
      volumes:
        - ${{ github.workspace }}:/src

    steps:
      - uses: actions/checkout@v2
      - name: Patch dependencies
        run: .ci/patch_for_twisted_trunk.sh
        working-directory: /src
      - name: Run SyTest
        run: /bootstrap.sh synapse
        working-directory: /src
      - name: Summarise results.tap
        if: ${{ always() }}
        run: /sytest/scripts/tap_to_gha.pl /logs/results.tap
      - name: Upload SyTest logs
        uses: actions/upload-artifact@v2
        if: ${{ always() }}
        with:
          name: Sytest Logs - ${{ job.status }} - (${{ join(matrix.*, ', ') }})
          path: |
            /logs/results.tap
            /logs/**/*.log*

#  # open an issue if the build fails, so we know about it.
#  open-issue:
#    if: failure()
#    needs:
#      - mypy
#      - trial
#      - sytest
#
#    runs-on: ubuntu-latest
#
#    steps:
#      - uses: actions/checkout@v2
#      - uses: JasonEtco/create-an-issue@5d9504915f79f9cc6d791934b8ef34f2353dd74d # v2.5.0, 2020-12-06
#        env:
#          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
#        with:
#          update_existing: true
#          filename: .ci/twisted_trunk_build_failed_issue_template.md