mirror of https://github.com/watcha-fr/synapse
Run a nightly CI build against Twisted trunk. (#10651)
This creates a GHA workflow which runs at 8am every day, and runs mypy, trial and sytest against Twisted's current trunk. If any of the jobs fail, it opens an issue.code_spécifique_watcha
parent
947dbbdfd1
commit
4db65f911a
@ -0,0 +1,8 @@ |
||||
#!/bin/sh |
||||
|
||||
# replaces the dependency on Twisted in `python_dependencies` with trunk. |
||||
|
||||
set -e |
||||
cd "$(dirname "$0")"/.. |
||||
|
||||
sed -i -e 's#"Twisted.*"#"Twisted @ git+https://github.com/twisted/twisted"#' synapse/python_dependencies.py |
@ -0,0 +1,4 @@ |
||||
--- |
||||
title: CI run against Twisted trunk is failing |
||||
--- |
||||
See https://github.com/{{env.GITHUB_REPOSITORY}}/actions/runs/{{env.GITHUB_RUN_ID}} |
@ -0,0 +1,89 @@ |
||||
name: Twisted Trunk |
||||
|
||||
on: |
||||
schedule: |
||||
- cron: 0 8 * * * |
||||
|
||||
workflow_dispatch: |
||||
|
||||
jobs: |
||||
mypy: |
||||
runs-on: ubuntu-latest |
||||
|
||||
steps: |
||||
- uses: actions/checkout@v2 |
||||
- uses: actions/setup-python@v2 |
||||
- run: .ci/patch_for_twisted_trunk.sh |
||||
- run: pip install tox |
||||
- run: tox -e mypy |
||||
|
||||
trial: |
||||
runs-on: ubuntu-latest |
||||
|
||||
steps: |
||||
- uses: actions/checkout@v2 |
||||
- run: sudo apt-get -qq install xmlsec1 |
||||
- uses: actions/setup-python@v2 |
||||
with: |
||||
python-version: 3.6 |
||||
- run: .ci/patch_for_twisted_trunk.sh |
||||
- run: pip install tox |
||||
- run: tox -e py |
||||
env: |
||||
TRIAL_FLAGS: "--jobs=2" |
||||
|
||||
- name: Dump logs |
||||
# 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@v2 |
||||
env: |
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
||||
with: |
||||
filename: .ci/twisted_trunk_build_failed_issue_template.md |
@ -0,0 +1 @@ |
||||
Run a nightly CI build against Twisted trunk. |
Loading…
Reference in new issue