mirror of
https://github.com/ppy/osu.git
synced 2026-05-13 19:54:15 +08:00
More tooling updates & fixes (#37177)
## [Adjust CI test reporting to upstream action changes](https://github.com/ppy/osu/commit/f736337b1acf311bf48fb8c39cae67c3f172608d) It's been semi-broken since I bumped it a few weeks ago. Paper trail for this is at https://github.com/dorny/test-reporter/issues/750, but to TL;DR it: `dorny/test-reporter@>=v2.0.0` migrated from [creating new check runs via the GitHub API](https://docs.github.com/en/rest/checks/runs) to [job summaries](https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-commands#adding-a-job-summary) by default. The main difference is that compared to check runs, job summaries do not *appear to* require extra `GITHUB_TOKEN` permissions, but in exchange are limited to the job that called it. This broke visibility of the test reports because due to `GITHUB_TOKEN` permissions foibles the test reporter was running in a separate workflow. I see migrating as a plus here, since: - The visibility of results is comparable-to-better (example available for preview at https://github.com/bdach/osu/actions/runs/23892493152) - No longer required to have a completely separate workflow for test result reporting - No longer required to give `checks: write` permissions to the action (I'd hope, we'll see, untested on a public repository with PRs involved) One downside is there'll be no in-code annotations for failing tests anymore but that's whatever IMO. Half the time they weren't even very helpful, test results pretty much require maintainer interpretation anyway. This needs to be applied to a few other repos but I'm starting here because this is the one where the traffic is highest and therefore unbreaking the report is of most value (and also the one where I'll see if it works with public PRs the fastest). Side note, I was hoping to remove the artifact upload/download games by just attaching the summary inside each individual test job in the matrix, but [it looks like crap](https://github.com/bdach/osu-framework/actions/runs/23888384309) because only the first three summaries are loaded by default, so if there are more, you have to click each remaining one to see its output. Wow. Awesome. Also updates the action to `v3.0.0` to resolve node deprecation warnings. ## [Update inspectcode version to resolve deprecation warnings](https://github.com/ppy/osu/commit/496cf6890ecb6571e6361731d46f53cceb7cb584) More node deprecation warning fixes.
This commit is contained in:
committed by
GitHub
Unverified
parent
77ef450883
commit
5b6d215583
@@ -50,7 +50,7 @@ jobs:
|
|||||||
exit $exit_code
|
exit $exit_code
|
||||||
|
|
||||||
- name: InspectCode
|
- name: InspectCode
|
||||||
uses: JetBrains/ReSharper-InspectCode@v0.11
|
uses: JetBrains/ReSharper-InspectCode@v0.12
|
||||||
with:
|
with:
|
||||||
# this is WTF tier but if you don't specify *both* of these the defaults assume `build: true`
|
# this is WTF tier but if you don't specify *both* of these the defaults assume `build: true`
|
||||||
build: false
|
build: false
|
||||||
@@ -101,14 +101,42 @@ jobs:
|
|||||||
NUnit.ConsoleOut=0
|
NUnit.ConsoleOut=0
|
||||||
|
|
||||||
# Attempt to upload results even if test fails.
|
# Attempt to upload results even if test fails.
|
||||||
# https://docs.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#always
|
# https://docs.github.com/en/actions/reference/workflows-and-actions/expressions#cancelled
|
||||||
- name: Upload Test Results
|
- name: Upload Test Results
|
||||||
uses: actions/upload-artifact@v7
|
uses: actions/upload-artifact@v7
|
||||||
if: ${{ always() }}
|
if: ${{ !cancelled() }}
|
||||||
with:
|
with:
|
||||||
name: osu-test-results-${{matrix.os.prettyname}}-${{matrix.threadingMode}}
|
name: osu-test-results-${{matrix.os.prettyname}}-${{matrix.threadingMode}}
|
||||||
path: ${{github.workspace}}/TestResults/TestResults-${{matrix.os.prettyname}}-${{matrix.threadingMode}}.trx
|
path: ${{github.workspace}}/TestResults/TestResults-${{matrix.os.prettyname}}-${{matrix.threadingMode}}.trx
|
||||||
|
|
||||||
|
test-results:
|
||||||
|
name: Test results
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
# we want to wait for the `test` job to complete, but run regardless of whether it succeeds or fails
|
||||||
|
# https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-syntax#example-not-requiring-successful-dependent-jobs
|
||||||
|
if: ${{ !cancelled() }}
|
||||||
|
needs: test
|
||||||
|
timeout-minutes: 5
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
|
||||||
|
- name: Download results
|
||||||
|
uses: actions/download-artifact@v8
|
||||||
|
with:
|
||||||
|
pattern: osu-test-results-*
|
||||||
|
merge-multiple: true
|
||||||
|
|
||||||
|
- name: Add test results summary to workflow run
|
||||||
|
uses: dorny/test-reporter@v3.0.0
|
||||||
|
with:
|
||||||
|
name: Results
|
||||||
|
path: "*.trx"
|
||||||
|
reporter: dotnet-trx
|
||||||
|
list-suites: 'failed'
|
||||||
|
list-tests: 'failed'
|
||||||
|
use-actions-summary: 'true'
|
||||||
|
|
||||||
build-only-android:
|
build-only-android:
|
||||||
name: Build only (Android)
|
name: Build only (Android)
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
|
|||||||
@@ -1,45 +0,0 @@
|
|||||||
# This is a workaround to allow PRs to report their coverage. This will run inside the base repository.
|
|
||||||
# See:
|
|
||||||
# * https://github.com/dorny/test-reporter#recommended-setup-for-public-repositories
|
|
||||||
# * https://docs.github.com/en/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token
|
|
||||||
name: Annotate CI run with test results
|
|
||||||
on:
|
|
||||||
workflow_run:
|
|
||||||
workflows: [ "Continuous Integration" ]
|
|
||||||
types:
|
|
||||||
- completed
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
actions: read
|
|
||||||
checks: write
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
annotate:
|
|
||||||
name: Annotate CI run with test results
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
if: ${{ github.event.workflow_run.conclusion != 'cancelled' }}
|
|
||||||
timeout-minutes: 5
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v6
|
|
||||||
with:
|
|
||||||
repository: ${{ github.event.workflow_run.repository.full_name }}
|
|
||||||
ref: ${{ github.event.workflow_run.head_sha }}
|
|
||||||
|
|
||||||
- name: Download results
|
|
||||||
uses: actions/download-artifact@v8
|
|
||||||
with:
|
|
||||||
pattern: osu-test-results-*
|
|
||||||
merge-multiple: true
|
|
||||||
run-id: ${{ github.event.workflow_run.id }}
|
|
||||||
github-token: ${{ github.token }}
|
|
||||||
|
|
||||||
- name: Annotate CI run with test results
|
|
||||||
uses: dorny/test-reporter@v2.6.0
|
|
||||||
with:
|
|
||||||
name: Results
|
|
||||||
path: "*.trx"
|
|
||||||
reporter: dotnet-trx
|
|
||||||
list-suites: 'failed'
|
|
||||||
list-tests: 'failed'
|
|
||||||
Reference in New Issue
Block a user