## [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.
Suffixed tags are build releases, which are triggered manually for now
(via private project).
Tags without suffix are the ones that we want to build the nuget
packages and such.
[It still doesn't
work.](https://github.com/ppy/osu/actions/runs/22759488243/job/66012293202)
Looking at the [job
output](https://github.com/ppy/osu/actions/runs/22759488243/job/66012293202#step:1:21)
it appears that the permissions of the `GITHUB_TOKEN` are
*automatically* constrained to `read` even if you request more scopes.
Would be nice if that was *actually documented* somewhere!
Also given supply-chain attacks that people are running on github [via
*issue titles* these
days](https://grith.ai/blog/clinejection-when-your-ai-tool-installs-another)
I'm not sure we want any automation near where it can reach code. Sure,
much of the fault in the aforementioned attack was the fault of meatbags
trusting clankers *WAY* too much, which is a mistake we *would not* do,
but given everpresent software degradation *from unknown sources and for
unknown reasons* let's not ~~COPILOT~~ *ahem* tempt fate...
Another month, another freak android build failure.
From what I can tell, this time the build is broken because the second-
-to-last workaround applied to fix it, namely explicitly specifying
the version of workloads to install, stopped working, presumably because
github pushed a new .NET SDK version to runners, and microsoft didn't
actually put up a set of workload packages whose version matches the
.NET SDK version 1:1.
Thankfully, the fix to the *last* android build breakage (which caused
the workload installation to completely and irrecoverably fail), appears
to be rolling out this week, and *also* fix that same second-last issue,
so both workarounds of specifying the workload version and pinning the
image to `windows-2019` appear to no longer be required.
Note that the newest image version, 20250209.1.0, is still not fully
rolled out yet, thus rather than just fix all builds, this will fix like
20% of builds until the newest image is fully rolled out. But I guess
a 20% passing build is better than a 0% passing build, in a sense...?
In https://github.com/ppy/osu/actions/runs/11311858931/job/31458581002, I cancelled the run during the download from `data.ppy.sh`.
In https://github.com/ppy/osu/actions/runs/11313128285/job/31461534857, `wget` skipped downloading the file due to the `-nc` option (no-clobber), i.e.: if the file exists, don't re-download.
The only way I'm aware of to resolve this with wget is to either use `-c` (continue), which may lead to broken files, or to explicitly specify the output file via `-O`. Thought I'd clean up a few pieces in the process.
Why not curl? Mostly historical - some distros don't come with curl. It may be okay now but there's probably no point changing this at the moment...