Merge pull request #5471 from vector-im/michaelk/ci_script_improvements
CI Script improvements
This commit is contained in:
commit
4a8aeadbcf
|
@ -265,6 +265,7 @@ jobs:
|
||||||
failure_screenshots/
|
failure_screenshots/
|
||||||
|
|
||||||
codecov-units:
|
codecov-units:
|
||||||
|
name: Unit tests with code coverage
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
|
@ -290,6 +291,7 @@ jobs:
|
||||||
build/reports/jacoco/allCodeCoverageReport/allCodeCoverageReport.xml
|
build/reports/jacoco/allCodeCoverageReport/allCodeCoverageReport.xml
|
||||||
|
|
||||||
sonarqube:
|
sonarqube:
|
||||||
|
name: Sonarqube upload
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
if: always()
|
if: always()
|
||||||
needs:
|
needs:
|
||||||
|
@ -319,6 +321,7 @@ jobs:
|
||||||
|
|
||||||
# Notify the channel about scheduled runs, do not notify for manually triggered runs
|
# Notify the channel about scheduled runs, do not notify for manually triggered runs
|
||||||
notify:
|
notify:
|
||||||
|
name: Notify matrix
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs:
|
needs:
|
||||||
- integration-tests
|
- integration-tests
|
||||||
|
@ -333,4 +336,4 @@ jobs:
|
||||||
matrix_access_token: ${{ secrets.ELEMENT_ANDROID_NOTIFICATION_ACCESS_TOKEN }}
|
matrix_access_token: ${{ secrets.ELEMENT_ANDROID_NOTIFICATION_ACCESS_TOKEN }}
|
||||||
matrix_room_id: ${{ secrets.ELEMENT_ANDROID_INTERNAL_ROOM_ID }}
|
matrix_room_id: ${{ secrets.ELEMENT_ANDROID_INTERNAL_ROOM_ID }}
|
||||||
text_template: "Nightly test run: {{#each job_statuses }}{{#with this }}{{#if completed }} {{name}} {{conclusion}} at {{completed_at}}, {{/if}}{{/with}}{{/each}}"
|
text_template: "Nightly test run: {{#each job_statuses }}{{#with this }}{{#if completed }} {{name}} {{conclusion}} at {{completed_at}}, {{/if}}{{/with}}{{/each}}"
|
||||||
html_template: "Nightly test run results: {{#each job_statuses }}{{#with this }}{{#if completed }}<br />{{name}} {{conclusion}} at {{completed_at}} <a href=\"{{html_url}}\">[details]</a>{{/if}}{{/with}}{{/each}}"
|
html_template: "Nightly test run results: {{#each job_statuses }}{{#with this }}{{#if completed }}<br />{{icon conclusion}} {{name}} <font color='{{color conclusion}}'>{{conclusion}} at {{completed_at}} <a href=\"{{html_url}}\">[details]</a></font>{{/if}}{{/with}}{{/each}}"
|
||||||
|
|
|
@ -13,32 +13,35 @@ print("::group::Arguments")
|
||||||
print(f"{sys.argv}")
|
print(f"{sys.argv}")
|
||||||
print("::endgroup::")
|
print("::endgroup::")
|
||||||
for xmlfile in xmlfiles:
|
for xmlfile in xmlfiles:
|
||||||
tree = ET.parse(xmlfile)
|
try:
|
||||||
|
tree = ET.parse(xmlfile)
|
||||||
|
|
||||||
root = tree.getroot()
|
root = tree.getroot()
|
||||||
name = root.attrib['name']
|
name = root.attrib['name']
|
||||||
time = root.attrib['time']
|
time = root.attrib['time']
|
||||||
tests = int(root.attrib['tests'])
|
tests = int(root.attrib['tests'])
|
||||||
skipped = int(root.attrib['skipped'])
|
skipped = int(root.attrib['skipped'])
|
||||||
errors = int(root.attrib['errors'])
|
errors = int(root.attrib['errors'])
|
||||||
failures = int(root.attrib['failures'])
|
failures = int(root.attrib['failures'])
|
||||||
success = tests - failures - errors - skipped
|
success = tests - failures - errors - skipped
|
||||||
total = tests - skipped
|
total = tests - skipped
|
||||||
print(f"::group::{name} {success}/{total} ({skipped} skipped) in {time}")
|
print(f"::group::{name} {success}/{total} ({skipped} skipped) in {time}")
|
||||||
|
|
||||||
for testcase in root:
|
for testcase in root:
|
||||||
if testcase.tag != "testcase":
|
if testcase.tag != "testcase":
|
||||||
continue
|
continue
|
||||||
testname = testcase.attrib['classname']
|
testname = testcase.attrib['classname']
|
||||||
message = testcase.attrib['name']
|
message = testcase.attrib['name']
|
||||||
time = testcase.attrib['time']
|
time = testcase.attrib['time']
|
||||||
child = testcase.find("failure")
|
child = testcase.find("failure")
|
||||||
if child is None:
|
if child is None:
|
||||||
print(f"{message} in {time}s")
|
print(f"{message} in {time}s")
|
||||||
else:
|
else:
|
||||||
print(f"::error file={testname}::{message} in {time}s")
|
print(f"::error file={testname}::{message} in {time}s")
|
||||||
print(child.text)
|
print(child.text)
|
||||||
body = f"passed={success} failures={failures} errors={errors} skipped={skipped}"
|
body = f" passed={success} failures={failures} errors={errors} skipped={skipped}"
|
||||||
print(f"::set-output name={suitename}::={body}")
|
print(f"::set-output name={suitename}::={body}")
|
||||||
|
except FileNotFoundError:
|
||||||
|
print(f"::error::Unable to open test results file {xmlfile} - check if the tests completed")
|
||||||
print("::endgroup::")
|
print("::endgroup::")
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue