template-package
template-package copied to clipboard
Workflows based on this repository will be broken with ubuntu-latest migration to 24.04
The workaround for this problem has been implemented NOW! This issue is kept for future final fix.
Workflows based on this repository will be broken with ubuntu-latest migration to 24.04
The Problem
Since this week, github actions workflows (jobs) with ubuntu-latest will use ubuntu-24.04. (some repositories already uses 24.04 and some doesn't for now.) In ubuntu-24.04 runner images, dotnet 6.0 will not be included in runner image and only dotnet 8. (see actions/runner-images#10636)
However, vrchat-community/package-list-action does not support .NET 8 so workflows based on this repository will be broken.
Affects
There are some real-world cases of this problem like Azukimochi/vpm-repos. ALL repositories that are based on this repository will be affected.
Workarounds
There are two options.
The first way to workaround this problem is to use ubuntu-22.04, which includes .NET 6 runtime.
However, using older version of ubuntu might cause problem in the future. (at least, we may need to migrate to newer ubuntu).
The second way to workaround this problem is to add step to install .NET 6 with actions/setup-dotnet@v4.
You can add an step like this before building
- uses: actions/setup-dotnet@v4
with:
dotnet-version: '6.x'
The way to Fix
We should do two thing.
First, we should add .NET 8 support in vrchat-community/package-list-action. This will fix the problem for existing repositories. I'll create issue for this fix soon. => vrchat-community/package-list-action#27
Second, we should add actions/setup-dotnet step to prevent similar problem in the future (about two years later).
We are most likely going to version the current state of the package-list-action as v1 (now that it has the .NET 6 + .NET 8
then introduce the github action.yml which can then include actions/setup-dotnet@v4 as a step (with a configuration key to skip that for selfhosted runners) in v2, and ditch .net 6 there
still something in active discussion, but that is the general direction we're looking at now
this is technically closable no?
I think it should be kept open while final fix is implemented to remember there are problems now.