dotnetcore-chocolatey / dotnetcore-chocolateypackages

Chocolatey packages for .NET Core
MIT License
13 stars 9 forks source link

Cannot run update_all.ps1 #24

Closed martincostello closed 6 years ago

martincostello commented 6 years ago

I tried to use the new update_all.ps1 script to submit a PR to update to the latest versions from dotnet/announcements#62, but it errors as shown below.

The script should be in a state that can be used by people wanting to submit PRs to update the packages.

It could be that there's just some prerequisites I need that aren't documented in a README.

PS C:\Coding\dotnetcore-chocolateypackages> .\update_all.ps1
Updating 7 automatic packages at 2018-03-14 10:01:47
Push is disabled
   [1/7] aspnetcore-runtimepackagestore has no updates (2.03s)
   [2/7] dotnetcore-runtime has no updates (4.09s)
   [3/7] dotnetcore-runtime.install has no updates (4.26s)
Cannot find path 'C:\helpers' because it does not exist.
    + CategoryInfo          : ObjectNotFound: (C:\helpers:String) [Copy-Item], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.CopyItemCommand
    + PSComputerName        : localhost

Cannot find path
'C:\Users\MARTIN~1.COS\AppData\Local\Temp\chocolatey\au\chocolatey\helpers\functions\Get-ChocolateyWebFile.ps1'
because it does not exist.
    + CategoryInfo          : ObjectNotFound: (C:\Users\MARTIN...ateyWebFile.ps1:String) [Get-Content], ItemNotFoundEx
   ception
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand
    + PSComputerName        : localhost

Cannot find path 'C:\Coding\dotnetcore-chocolateypackages\dotnetcore\tools\data.ps1' because it does not exist.
    + CategoryInfo          : ObjectNotFound: (C:\Coding\dotne...\tools\data.ps1:String) [Get-Content], ItemNotFoundEx
   ception
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand
    + PSComputerName        : localhost

Cannot find path 'C:\helpers' because it does not exist.
    + CategoryInfo          : ObjectNotFound: (C:\helpers:String) [Copy-Item], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.CopyItemCommand
    + PSComputerName        : localhost

Cannot find path
'C:\Users\MARTIN~1.COS\AppData\Local\Temp\chocolatey\au\chocolatey\helpers\functions\Get-ChocolateyWebFile.ps1'
because it does not exist.
    + CategoryInfo          : ObjectNotFound: (C:\Users\MARTIN...ateyWebFile.ps1:String) [Get-Content], ItemNotFoundEx
   ception
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand
    + PSComputerName        : localhost

Cannot find path 'C:\Coding\dotnetcore-chocolateypackages\dotnetcore\tools\data.ps1' because it does not exist.
    + CategoryInfo          : ObjectNotFound: (C:\Coding\dotne...\tools\data.ps1:String) [Get-Content], ItemNotFoundEx
   ception
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand
    + PSComputerName        : localhost

   [4/7] dotnetcore ERROR:
     Search pattern not found: '(^\s*Url64\s*=\s*)('.*')' (7.69s)
riezebosch commented 6 years ago

choco install au -y

martincostello commented 6 years ago

Thanks. That's improved things, but I have two different errors now. The first is a seemingly missing file, the second is a TLS error (issue with recent SSL deprecation in GitHub?).

Updating 7 automatic packages at 2018-03-14 11:17:40
Push is disabled
   [1/7] aspnetcore-runtimepackagestore has no updates (4.95s)
   [2/7] dotnetcore-runtime.portable has no updates (12.61s)
Cannot find path 'C:\Coding\dotnetcore-chocolateypackages\dotnetcore\tools\data.ps1' because it does not exist.
    + CategoryInfo          : ObjectNotFound: (C:\Coding\dotne...\tools\data.ps1:String) [Get-Content], ItemNotFoundEx
   ception
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand
    + PSComputerName        : localhost

Cannot find path 'C:\Coding\dotnetcore-chocolateypackages\dotnetcore\tools\data.ps1' because it does not exist.
    + CategoryInfo          : ObjectNotFound: (C:\Coding\dotne...\tools\data.ps1:String) [Get-Content], ItemNotFoundEx
   ception
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand
    + PSComputerName        : localhost

   [3/7] dotnetcore ERROR:
     Search pattern not found: '(^\s*Url64\s*=\s*)('.*')' (17.95s)
   [4/7] dotnetcore-runtime has no updates (16.01s)
   [5/7] dotnetcore-runtime.install has no updates (14.80s)
   [6/7] dotnetcore-sdk has no updates (10.13s)
   [7/7] dotnetcore-windowshosting has no updates (9.72s)

Running Report
Saving markdown report: C:\Coding\dotnetcore-chocolateypackages\Update-AUPackages.md

Running History
Saving history to C:\Coding\dotnetcore-chocolateypackages\Update-History.md

Running Gist
  ERROR:
    The request was aborted: Could not create SSL/TLS secure channel.

Running Git
No package updated, skipping

Running RunInfo
Excluded:      Git.Password Gist.ApiKey
File:          C:\Coding\dotnetcore-chocolateypackages\update_info.xml

Finished 7 packages after .37 minutes.
0 updated, 0 pushed, 0 ignored
1 errors - 1 update, 0 push.
riezebosch commented 6 years ago

What did you run? update on a package and updateall in the root should do.

Okay, I get the same error

Cannot find path 'C:\git\dotnetcore-chocolateypackages\dotnetcore\tools\data.ps1' because it does not exist.
martincostello commented 6 years ago

I just did this:

.\update_all.ps1
riezebosch commented 6 years ago

Guess I fixed this one. Here you'll find more information on AU.

martincostello commented 6 years ago

Shall I manually construct a PR to update the packages for the security fixes, or are you going to sort that with the update script?

riezebosch commented 6 years ago

I'm sorry, committed and pushed wrong file. Updated it (but did an ammend and force push). Are you saying the update script does not pickup the security fixes? Because the packages are supposed to be automatically updated by this build.

martincostello commented 6 years ago

When I ran it locally it didn't seem to be updating things properly, and it looks like even though the AppVeyor build is green, it contains an error:

https://ci.appveyor.com/project/riezebosch/dotnetcore-chocolateypackages/build/233#L118

riezebosch commented 6 years ago

I see a lot of new entries that are not reflected on the chocolatey feed indeed. There is probably something wrong with the update script so I would see that fixed instead.

Also I now see the need for additional auto-update packages for all LTS releases probably.

In the mean time I fixed the script and thereby the build. Please to a git fetch origin master and a git reset origin/master --hard to get the latest commits. Mind that this will drop your own additions to this branch. Promise I won't force push again.

martincostello commented 6 years ago

Cool, that's fixed the first problem now. The TLS one is still there, but that might be a problem running from corporate network?

I can try re-running it from home later.

Running Gist
  ERROR:
    The request was aborted: Could not create SSL/TLS secure channel.

I guess from my point of view I'm just looking to get the latest runtime install available in Chocolatey so I can build a new AMI.

martincostello commented 6 years ago

Sorry, also this is what I meant by "doing the wrong thing". It seems to be configuring the windows hosting data to be the runtime package store instead and not setting the hashes:

image

riezebosch commented 6 years ago

The TLS seems to appear somewhat randomly: https://github.com/chocolatey/chocolatey-coreteampackages/issues/718

riezebosch commented 6 years ago

Also added PSSCriptRoot to other Update.ps1 so it updates indeed the correct data.ps1 files.

martincostello commented 6 years ago

I've synced my code with master, and it's still updating the wrong file. I'm also getting this new error:

   [7/7] dotnetcore-windowshosting ERROR:
     Job returned no object, Vector smash ? (81.26s)
riezebosch commented 6 years ago

I got them also when running in a non-elevated powershell (it seems). Also the warning above are interesting:

WARNING: Unable to determine IIS installation state (dism.exe exit code: 740)
WARNING: dism.exe output:
WARNING:
WARNING: Error: 740
WARNING:
WARNING: Elevated permissions are required to run DISM.
WARNING: Use an elevated command prompt to complete these tasks.
WARNING: IIS is not enabled. The ASP.NET Core Module for IIS requires IIS to be enabled before installing the module.
To install the module, enable IIS and install this package again using the --force switch.
   [7/7] dotnetcore-windowshosting ERROR:
     Job returned no object, Vector smash ? (18,16s)

I don't know exactly what is going on, this is the work of @jberezanski. Also don't understand why the update process is invoking the chocolateyInstall.ps1 suddenly.

martincostello commented 6 years ago

I'm manually done a PR for 2.0.6 as #25.

riezebosch commented 6 years ago

Fixed the update script to look for the latest stable version. The problem was that it compared the current version with a previously pushed preview version with a higher version number.

jberezanski commented 6 years ago

@riezebosch

Also the warning above are interesting: (...)

The IIS detection code should only run during package installation (on end-user machine), it does not make sense to invoke it during package build. It seems that the update script somehow executes ChocolateyInstall.ps1.

The TLS seems to appear somewhat randomly

TLS 1.1/1.2 support in PowerShell depends upon a few environmental conditions:

AppVeyor probably uses several machines for its build service. Perhaps these machines are not uniformly configured, so on some of them Chocolatey/AU is able to enable TLS 1.2 and on others it is not.

To verify this line of thought it would be beneficial to emit the following information in build output:

jberezanski commented 6 years ago

Oh, and [Net.ServicePointManager]::SecurityProtocol at start and end of update script.