Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
58ae077
Temporarily disable Windows-Android tests.
jonsimantov Mar 25, 2021
3b32605
Add script to summarize test results.
jonsimantov Mar 25, 2021
6acd2df
Upload artifact even if failed. Re-add Windows Android.
jonsimantov Mar 25, 2021
427eb3f
Fix if: statement
jonsimantov Mar 25, 2021
25dff9b
Add non-breaking spaces to clean up wrapping.
jonsimantov Mar 25, 2021
2947a13
Add more Markdown niceness to the test results.
jonsimantov Mar 25, 2021
2727308
Add debug output.
jonsimantov Mar 25, 2021
8f04396
don't error out if there is only one failure artifact.
jonsimantov Mar 25, 2021
599f6fb
Add tracking of attempted and successful products (not printed) and f…
jonsimantov Mar 25, 2021
3c61d50
Clean up output slightly.
jonsimantov Mar 25, 2021
28c0861
Use multi-line environment variable instead of output.
jonsimantov Mar 25, 2021
e76ffe7
Fix syntax issue.
jonsimantov Mar 25, 2021
068320d
Fix handling of 10th+ build error.
jonsimantov Mar 25, 2021
82008db
Use newline to separate test names.
jonsimantov Mar 25, 2021
bc080b2
Remove debug info.
jonsimantov Mar 25, 2021
822e62e
Try printing job context.
jonsimantov Mar 25, 2021
4e32fd4
Fix syntax.
jonsimantov Mar 25, 2021
8e93828
Remove extra context debugging.
jonsimantov Mar 25, 2021
9ae4ad4
Handle the case where there are no errors - print nothing.
jonsimantov Mar 25, 2021
20b92f2
Fix output logs, and format the platform names better.
jonsimantov Mar 25, 2021
a265bd0
Clean up non-Markdown results.
jonsimantov Mar 25, 2021
5d6ae1a
Add an overall summary step at the end, which logs to GitHub log.
jonsimantov Mar 25, 2021
66b3f72
Add comment.
jonsimantov Mar 25, 2021
a524f2f
Fix some small issues with test summary logging.
jonsimantov Mar 26, 2021
b6acded
Fix workflow issue
jonsimantov Mar 26, 2021
6082841
Add extra deps.
jonsimantov Mar 26, 2021
f699106
Set up absl-py in the summarizing jobs.
jonsimantov Mar 26, 2021
897645a
Add matching for Android test failure.
jonsimantov Mar 26, 2021
d525cc5
Clean up text-log table.
jonsimantov Mar 26, 2021
26ecd77
Refactor summarize test results script.
jonsimantov Mar 26, 2021
2b42394
Delete artifacts at end of test run.
jonsimantov Mar 26, 2021
4f88c67
Improve python script comments and documentation.
jonsimantov Mar 29, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 80 additions & 1 deletion .github/workflows/integration_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -359,7 +359,16 @@ jobs:
if: matrix.target_platform != 'Desktop' && !cancelled()
run: |
python scripts/gha/test_lab.py --android_model ${{ needs.prepare_matrix.outputs.android_device }} --android_api ${{ needs.prepare_matrix.outputs.android_api }} --ios_model ${{ needs.prepare_matrix.outputs.ios_device }} --ios_version ${{ needs.prepare_matrix.outputs.ios_version }} --testapp_dir ta --code_platform cpp --key_file scripts/gha-encrypted/gcs_key_file.json

- name: Prepare results summary artifact
if: ${{ !cancelled() }}
run: |
cp ta/summary.log test-results-${{ matrix.os }}-${{ matrix.target_platform }}-${{ matrix.ssl_variant }}.txt
- name: Upload results summary artifact
uses: actions/upload-artifact@v2.2.2
if: ${{ !cancelled() }}
with:
name: test-results-${{ matrix.os }}-${{ matrix.target_platform }}-${{ matrix.ssl_variant }}
path: test-results-${{ matrix.os }}-${{ matrix.target_platform }}-${{ matrix.ssl_variant }}.txt
### The below allow us to set the failure label and comment early, when the first failure
### in the matrix occurs. It'll be cleaned up in a subsequent job.
- name: add failure label
Expand All @@ -377,6 +386,22 @@ jobs:
run: |
echo -n "::set-output name=time::"
TZ=America/Los_Angeles date
- name: download artifact
uses: actions/download-artifact@v2.0.8
if: ${{ needs.check_trigger.outputs.should_update_labels && failure() && !cancelled() }}
with:
# download-artifact doesn't support wildcards, but by default
# will download all artifacts. Sadly this is what we must do.
path: test_results
- name: get summary of test results
id: get-summary
shell: bash
if: ${{ needs.check_trigger.outputs.should_update_labels && failure() && !cancelled() }}
run: |
mv test_results/test-results-*/test-results-*.txt test_results || true
echo 'SUMMARY_TABLE<<EOF' >> $GITHUB_ENV
python scripts/gha/summarize_test_results.py --dir test_results --markdown >> $GITHUB_ENV
echo 'EOF' >> $GITHUB_ENV
- name: add failure status comment
uses: phulsechinmay/rewritable-pr-comment@v0.2.1
if: ${{ needs.check_trigger.outputs.should_update_labels && failure() && !cancelled() }}
Expand All @@ -386,6 +411,7 @@ jobs:
Requested by @${{github.actor}} on commit ${{github.event.pull_request.head.sha}}
Last updated: ${{ steps.get-time.outputs.time }}
**[View integration test results](https://github.com/${{github.repository}}/actions/runs/${{github.run_id}})**
${{ env.SUMMARY_TABLE }}
GITHUB_TOKEN: ${{ github.token }}
COMMENT_IDENTIFIER: ${{ env.statusCommentIdentifier }}

Expand Down Expand Up @@ -445,6 +471,29 @@ jobs:
run: |
echo -n "::set-output name=time::"
TZ=America/Los_Angeles date
- uses: actions/checkout@v2
- name: Setup python
uses: actions/setup-python@v2
with:
python-version: '3.7'

- name: Install python deps
run: |
python scripts/gha/install_prereqs_desktop.py

- name: download artifact
uses: actions/download-artifact@v2.0.8
with:
# download-artifact doesn't support wildcards, but by default
# will download all artifacts. Sadly this is what we must do.
path: test_results
- name: get summary of test results
shell: bash
run: |
mv test_results/test-results-*/test-results-*.txt test_results || true
echo 'SUMMARY_TABLE<<EOF' >> $GITHUB_ENV
python scripts/gha/summarize_test_results.py --dir test_results --markdown >> $GITHUB_ENV
echo 'EOF' >> $GITHUB_ENV
- name: add failure status comment
uses: phulsechinmay/rewritable-pr-comment@v0.2.1
with:
Expand All @@ -453,6 +502,7 @@ jobs:
Requested by @${{github.actor}} on commit ${{github.event.pull_request.head.sha}}
Last updated: ${{ steps.get-time.outputs.time }}
**[View integration test results](https://github.com/${{github.repository}}/actions/runs/${{github.run_id}})**
${{ env.SUMMARY_TABLE }}
GITHUB_TOKEN: ${{ github.token }}
COMMENT_IDENTIFIER: ${{ env.statusCommentIdentifier }}

Expand All @@ -477,3 +527,32 @@ jobs:
label: "${{ env.statusLabelInProgress }}"
type: remove

summarize_results:
name: "summarize-results"
needs: [add_failure_label, add_success_label, remove_in_progress_label, tests]
runs-on: ubuntu-latest
if: ${{ !cancelled() }}
steps:
- uses: actions/checkout@v2
- name: Setup python
uses: actions/setup-python@v2
with:
python-version: '3.7'
- name: Install python deps
run: |
python scripts/gha/install_prereqs_desktop.py
- name: download artifact
uses: actions/download-artifact@v2.0.8
with:
path: test_results
- name: Summarize results into GitHub log
run: |
mv test_results/test-results-*/test-results-*.txt test_results || true
python scripts/gha/summarize_test_results.py --dir test_results --github_log
- uses: geekyeggo/delete-artifact@1-glob-support
# Delete all of the test result artifacts.
with:
name: |
test-results-*
failOnError: false
useGlob: true
Loading