chickensoft-games / GodotEnv

Manage Godot versions and addons from the command line on Windows, macOS, and Linux.

Home Page:https://www.nuget.org/packages/Chickensoft.GodotEnv/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Checksum validation returns HTTP StatusCode 404

Dangles91 opened this issue · comments

When installing any version of Godot the checkum validation fails with a HTTP status code 404.

Command run

godotenv godot install 4.3.0-dev.6

image

My environment
Windows 11

.NET SDK:
 Version:           8.0.100
 Commit:            57efcf1350
 Workload version:  8.0.100-manifests.8d38d0cc

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.22631
 OS Platform: Windows
 RID:         win-x64
 Base Path:   c:\program files\dotnet\sdk\8.0.100\

.NET workloads installed:
 Workload version: 8.0.100-manifests.8d38d0cc
 [maui-windows]
   Installation Source: VS 17.8.34316.72
   Manifest Version:    8.0.3/8.0.100
   Manifest Path:       c:\program files\dotnet\sdk-manifests\8.0.100\microsoft.net.sdk.maui\8.0.3\WorkloadManifest.json
   Install Type:              Msi

 [maccatalyst]
   Installation Source: VS 17.8.34316.72
   Manifest Version:    17.0.8478/8.0.100
   Manifest Path:       c:\program files\dotnet\sdk-manifests\8.0.100\microsoft.net.sdk.maccatalyst\17.0.8478\WorkloadManifest.json
   Install Type:              Msi

 [ios]
   Installation Source: VS 17.8.34316.72
   Manifest Version:    17.0.8478/8.0.100
   Manifest Path:       c:\program files\dotnet\sdk-manifests\8.0.100\microsoft.net.sdk.ios\17.0.8478\WorkloadManifest.json
   Install Type:              Msi

 [android]
   Installation Source: VS 17.8.34316.72
   Manifest Version:    34.0.43/8.0.100
   Manifest Path:       c:\program files\dotnet\sdk-manifests\8.0.100\microsoft.net.sdk.android\34.0.43\WorkloadManifest.json
   Install Type:              Msi


Host:
  Version:      8.0.0
  Architecture: x64
  Commit:       5535e31a71

.NET SDKs installed:
  1.0.4 [c:\program files\dotnet\sdk]
  2.1.505 [c:\program files\dotnet\sdk]
  7.0.102 [c:\program files\dotnet\sdk]
  7.0.203 [c:\program files\dotnet\sdk]
  8.0.100 [c:\program files\dotnet\sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.All 2.1.9 [c:\program files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.9 [c:\program files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.25 [c:\program files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 7.0.2 [c:\program files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 7.0.3 [c:\program files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 7.0.5 [c:\program files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 7.0.14 [c:\program files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 8.0.0 [c:\program files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 1.0.5 [c:\program files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 1.1.2 [c:\program files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.9 [c:\program files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.8 [c:\program files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.32 [c:\program files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.17 [c:\program files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.11 [c:\program files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.25 [c:\program files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 7.0.2 [c:\program files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 7.0.5 [c:\program files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 7.0.14 [c:\program files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 8.0.0 [c:\program files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.1.8 [c:\program files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 5.0.17 [c:\program files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 6.0.11 [c:\program files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 6.0.25 [c:\program files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 7.0.2 [c:\program files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 7.0.5 [c:\program files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 7.0.14 [c:\program files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 8.0.0 [c:\program files\dotnet\shared\Microsoft.WindowsDesktop.App]

Other architectures found:
  x86   [C:\Program Files (x86)\dotnet]
    registered at [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x86\InstallLocation]

Environment variables:
  Not set

global.json file:
  Not found

Learn more:
  https://aka.ms/dotnet/info

Download .NET:
  https://aka.ms/dotnet/download

I encountered this as well, a workaround for now is installing the previous version:

dotnet tool uninstall --global Chickensoft.GodotEnv
dotnet tool install --global Chickensoft.GodotEnv --version 2.0.0

@Dangles91 In your case, the issue seems to be that you are trying to download -dev.6, but the release is called -dev6. Can you please try again without the dot?

The cause seems to be that for the generation of download file URLs, all dots are removed from the semantic version label (1), so the download using a theoretically non-existent tag succeeds, but the verification doesn't, as it does not omit dots.

As a quick fix, we could harmonize how they both build URLs, but for that we have to agree what behavior we want.

The nicer solution would be to check whether a parsed Godot version exists, before commencing a download (potentially by checking the godot-builds-repository).

@Dangles91 In your case, the issue seems to be that you are trying to download -dev.6, but the release is called -dev6. Can you please try again without the dot?

The readme specifies that downloads should match a nuget package version, in which case the version would be 4.3.0-dev.6 as shown below.

https://www.nuget.org/packages/GodotSharp/4.3.0-dev.6

@Renari is correct, users should always be able to specify a nuget version (which has the dot in the prerelease labels) and get the correct download. If we want to be more permissive than that and accept versions without dots in the prerelease label, we can do that, too, but the nuget version string must always be supported. Internally, GodotEnv should manage and maintain versions based on the nuget-formatted version, and we want to normalize around that wherever possible.

Thanks for the correction, this misunderstanding was my bad and I'm sorry for any inconvenience caused.

I'm working on a fix in #62, and I hope omitting the dot is an okay workaround until it is ready.

@Shaderbug no need to apologize! Thank you for the lightning fast fix — I'll take a look at it in a few minutes.

Should be fixed by #62 😄. I just triggered the release for 2.1.1 with the change.