qemu/.patchew.yml
<<
>>
Prefs
   1---
   2# Note: this file is still unused.  It serves as a documentation for the
   3# Patchew configuration in case patchew.org disappears or has to be
   4# reinstalled.
   5#
   6# Patchew configuration is available to project administrators at
   7# https://patchew.org/api/v1/projects/1/config/ and can be configured
   8# to YAML using the following Python script:
   9#
  10#     import json
  11#     import sys
  12#     import ruamel.yaml
  13#
  14#     json_str = sys.stdin.read()
  15#     yaml = ruamel.yaml.YAML()
  16#     yaml.explicit_start = True
  17#     data = json.loads(json_str, object_pairs_hook=ruamel.yaml.comments.CommentedMap)
  18#     ruamel.yaml.scalarstring.walk_tree(data)
  19#     yaml.dump(data, sys.stdout)
  20
  21email:
  22  notifications:
  23    timeouts:
  24      event: TestingReport
  25      enabled: true
  26      to_user: false
  27      reply_subject: true
  28      set_reply_to: true
  29      in_reply_to: true
  30      reply_to_all: false
  31      subject_template: none
  32      to: fam@euphon.net
  33      cc: ''
  34      body_template: |
  35        {% if not is_timeout %} {{ cancel }} {% endif %}
  36
  37        Test '{{ test }}' timeout, log:
  38
  39        {{ log }}
  40    ENOSPC:
  41      event: TestingReport
  42      enabled: true
  43      to_user: false
  44      reply_subject: false
  45      set_reply_to: false
  46      in_reply_to: true
  47      reply_to_all: false
  48      subject_template: Out of space error
  49      to: fam@euphon.net
  50      cc: ''
  51      body_template: |
  52        {% if passed %}
  53          {{ cancel }}
  54        {% endif %}
  55
  56        {% if 'No space left on device' in log %}
  57        Tester {{ tester }} out of space when running {{ test }}
  58
  59          {{ log }}
  60        {% else %}
  61          {{ cancel }}
  62        {% endif %}
  63    FailureShort:
  64      event: TestingReport
  65      enabled: true
  66      to_user: false
  67      reply_subject: true
  68      set_reply_to: true
  69      in_reply_to: true
  70      reply_to_all: true
  71      subject_template: Testing failed
  72      to: ''
  73      cc: ''
  74      body_template: |
  75        {% if passed or not obj.message_id or is_timeout %}
  76          {{ cancel }}
  77        {% endif %}
  78        {% if 'No space left on device' in log %}
  79          {{ cancel }}
  80        {% endif %}
  81        Patchew URL: https://patchew.org/QEMU/{{ obj.message_id }}/
  82
  83        {% ansi2text log as logtext %}
  84        {% if test == "checkpatch" %}
  85        Hi,
  86
  87        This series seems to have some coding style problems. See output below for
  88        more information:
  89
  90        {{ logtext }}
  91        {% elif test == "docker-mingw@fedora" or test == "docker-quick@centos8" or test == "asan" %}
  92        Hi,
  93
  94        This series failed the {{ test }} build test. Please find the testing commands and
  95        their output below. If you have Docker installed, you can probably reproduce it
  96        locally.
  97
  98        {% lines_between logtext start="^=== TEST SCRIPT BEGIN ===$" stop="^=== TEST SCRIPT END ===$" %}
  99        {% lines_between logtext start="^=== OUTPUT BEGIN ===$" stop="=== OUTPUT END ===$" as output %}
 100        {% grep_C output regex="\b(FAIL|XPASS|ERROR|WARN|error:|warning:)" n=3 %}
 101        {% elif test == "s390x" or test == "FreeBSD" or test == "ppcle" or test == "ppcbe" %}
 102        Hi,
 103
 104        This series failed build test on {{test}} host. Please find the details below.
 105
 106        {% lines_between logtext start="^=== TEST SCRIPT BEGIN ===$" stop="^=== TEST SCRIPT END ===$" %}
 107        {% lines_between logtext start="^=== OUTPUT BEGIN ===$" stop="=== OUTPUT END ===$" as output %}
 108        {% grep_C output regex="\b(FAIL|XPASS|ERROR|WARN|error:|warning:)" n=3 %}
 109        {% else %}
 110        {{ cancel }}
 111        {% endif %}
 112
 113        The full log is available at
 114        {{ log_url }}.
 115        ---
 116        Email generated automatically by Patchew [https://patchew.org/].
 117        Please send your feedback to patchew-devel@redhat.com
 118testing:
 119  tests:
 120    asan:
 121      enabled: true
 122      requirements: docker
 123      timeout: 3600
 124      script: |
 125        #!/bin/bash
 126        time make docker-test-debug@fedora TARGET_LIST=x86_64-softmmu J=14 NETWORK=1
 127    docker-quick@centos8:
 128      enabled: false
 129      requirements: docker,x86_64
 130      timeout: 3600
 131      script: |
 132        #!/bin/bash
 133        time make docker-test-quick@centos8 SHOW_ENV=1 J=14 NETWORK=1
 134    checkpatch:
 135      enabled: true
 136      requirements: ''
 137      timeout: 600
 138      script: |
 139        #!/bin/bash
 140        git rev-parse base > /dev/null || exit 0
 141        ./scripts/checkpatch.pl --mailback base..
 142    docker-mingw@fedora:
 143      enabled: true
 144      requirements: docker,x86_64
 145      timeout: 3600
 146      script: |
 147        #! /bin/bash
 148        test "$(uname -m)" = "x86_64"
 149    ppcle:
 150      enabled: false
 151      requirements: ppcle
 152      timeout: 3600
 153      script: |
 154        #!/bin/bash
 155        # Testing script will be invoked under the git checkout with
 156        # HEAD pointing to a commit that has the patches applied on top of "base"
 157        # branch
 158        set -e
 159        CC=$HOME/bin/cc
 160        INSTALL=$PWD/install
 161        BUILD=$PWD/build
 162        mkdir -p $BUILD $INSTALL
 163        SRC=$PWD
 164        cd $BUILD
 165        $SRC/configure --cc=$CC --prefix=$INSTALL
 166        make -j4
 167        # XXX: we need reliable clean up
 168        # make check -j4 V=1
 169        make install
 170
 171        echo
 172        echo "=== ENV ==="
 173        env
 174
 175        echo
 176        echo "=== PACKAGES ==="
 177        rpm -qa
 178    ppcbe:
 179      enabled: false
 180      requirements: ppcbe
 181      timeout: 3600
 182      script: |
 183        #!/bin/bash
 184        # Testing script will be invoked under the git checkout with
 185        # HEAD pointing to a commit that has the patches applied on top of "base"
 186        # branch
 187        set -e
 188        CC=$HOME/bin/cc
 189        INSTALL=$PWD/install
 190        BUILD=$PWD/build
 191        mkdir -p $BUILD $INSTALL
 192        SRC=$PWD
 193        cd $BUILD
 194        $SRC/configure --cc=$CC --prefix=$INSTALL
 195        make -j4
 196        # XXX: we need reliable clean up
 197        # make check -j4 V=1
 198        make install
 199
 200        echo
 201        echo "=== ENV ==="
 202        env
 203
 204        echo
 205        echo "=== PACKAGES ==="
 206        rpm -qa
 207    FreeBSD:
 208      enabled: true
 209      requirements: qemu-x86,x86_64,git
 210      timeout: 3600
 211      script: |
 212        #!/bin/bash
 213        # Testing script will be invoked under the git checkout with
 214        # HEAD pointing to a commit that has the patches applied on top of "base"
 215        # branch
 216        if qemu-system-x86_64 --help >/dev/null 2>&1; then
 217          QEMU=qemu-system-x86_64
 218        elif /usr/libexec/qemu-kvm --help >/dev/null 2>&1; then
 219          QEMU=/usr/libexec/qemu-kvm
 220        else
 221          exit 1
 222        fi
 223        make vm-build-freebsd J=21 QEMU=$QEMU
 224        exit 0
 225    docker-clang@ubuntu:
 226      enabled: true
 227      requirements: docker,x86_64
 228      timeout: 3600
 229      script: |
 230        #!/bin/bash
 231        time make docker-test-clang@ubuntu SHOW_ENV=1 J=14 NETWORK=1
 232    s390x:
 233      enabled: true
 234      requirements: s390x
 235      timeout: 3600
 236      script: |
 237        #!/bin/bash
 238        # Testing script will be invoked under the git checkout with
 239        # HEAD pointing to a commit that has the patches applied on top of "base"
 240        # branch
 241        set -e
 242        CC=$HOME/bin/cc
 243        INSTALL=$PWD/install
 244        BUILD=$PWD/build
 245        mkdir -p $BUILD $INSTALL
 246        SRC=$PWD
 247        cd $BUILD
 248        $SRC/configure --cc=$CC --prefix=$INSTALL
 249        make -j4
 250        # XXX: we need reliable clean up
 251        # make check -j4 V=1
 252        make install
 253
 254        echo
 255        echo "=== ENV ==="
 256        env
 257
 258        echo
 259        echo "=== PACKAGES ==="
 260        rpm -qa
 261  requirements:
 262    x86_64:
 263      script: |
 264        #! /bin/bash
 265        test "$(uname -m)" = "x86_64"
 266    qemu-x86:
 267      script: |
 268        #!/bin/bash
 269        if qemu-system-x86_64 --help >/dev/null 2>&1; then
 270          :
 271        elif /usr/libexec/qemu-kvm --help >/dev/null 2>&1; then
 272          :
 273        else
 274          exit 1
 275        fi
 276    ppcle:
 277      script: |
 278        #!/bin/bash
 279        test "$(uname -m)" = "ppc64le"
 280    ppcbe:
 281      script: |
 282        #!/bin/bash
 283        test "$(uname -m)" = "ppc64"
 284    git:
 285      script: |
 286        #! /bin/bash
 287        git config user.name > /dev/null 2>&1
 288    docker:
 289      script: |
 290        #!/bin/bash
 291        docker ps || sudo -n docker ps
 292    s390x:
 293      script: |
 294        #!/bin/bash
 295        test "$(uname -m)" = "s390x"
 296git:
 297  push_to: git@github.com:patchew-project/qemu
 298  public_repo: https://github.com/patchew-project/qemu
 299  url_template: https://github.com/patchew-project/qemu/tree/%t
 300