Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade native providers to dotnet 8 #1307

Open
flostadler opened this issue Jan 21, 2025 · 2 comments
Open

Upgrade native providers to dotnet 8 #1307

flostadler opened this issue Jan 21, 2025 · 2 comments
Labels
kind/engineering Work that is not visible to an external user

Comments

@flostadler
Copy link
Contributor

The native providers are currently using dotnet 6 in CI. It reached EOL in Nov 24.
We should upgrade to the current LTS (dotnet 8)

@pulumi-bot pulumi-bot added the needs-triage Needs attention from the triage team label Jan 21, 2025
@flostadler
Copy link
Contributor Author

There seems to be some additional issues with the current configuration. It installs the requested versions and additionally the latest TLS.

The rendered yaml seems wrong:

Run actions/setup-dotnet@87b7050bc53ea08284295505d98d2aa94301e852
  with:
    dotnet-version: 6.0.x
  3.1.301
  
    cache: false

The actions we're using for installing dotnet defaults to the lastest LTS if it's not able to parse a version: https://github.com/actions/setup-dotnet/blob/4b37d22250db48bbc2ccdde8ef5dbf479769f7ac/src/installer.ts#L70-L79

@flostadler
Copy link
Contributor Author

The above mentioned issue is a red herring. The setup-dotnet action is doing that intentionally, for every version passed, it's also trying to install the latest LTS version. Because we pass two versions, this pops up twice.

The issue is that previously dotnet 8 took precedence because it was installed last, now dotnet 6 is installed last because the new runner image ships with version 8 preinstalled.

flostadler added a commit to pulumi/pulumi-aws-native that referenced this issue Jan 21, 2025
dotnet builds started failing, due to the upgrade of the github runners
to ubuntu 24.04.
The `RoleCS` test was failing with issues in selecting `LanguageVersion`
11.

I've removed that version identifier from the `csproj` of the failing
test to align with the other CS tests and changed it to not use features
from language version 11.

### Why did this work before?
Previously this worked, because the test implicitly used v8 of the
dotnet runtime instead of the requested v6 (configured in ci-mgmt
pulumi/ci-mgmt#1307).

The `setup-dotnet` action implicitly installs the latest LTS before
installing other versions.
We're requesting 6.0.x and on Ubuntu 22.04 this was already
pre-installed, so this happened:
- Install latest LTS (v8)
- Install v6.0.x -> Already present -> Noop

Because of that v8 was on the path first and used for tests.

Now on Ubuntu 24.04 v8 is pre-installed, so this happens:
- Install latest LTS (v8) -> Already present -> Noop
- Install v6.0.x

Now we're actually using the requested v6, but the `RoleCs` test is not
compatible with that.
@guineveresaenger guineveresaenger added kind/engineering Work that is not visible to an external user and removed needs-triage Needs attention from the triage team labels Jan 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/engineering Work that is not visible to an external user
Projects
None yet
Development

No branches or pull requests

3 participants