GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Install full software environment explicitly into the CI rather than rely … by hwthomas · Pull Request #65 · dotdevelop/dotdevelop

Conversation

@hwthomas

@hwthomas hwthomas commented Jul 10, 2021

Copy link
Copy Markdown
Collaborator

…on the pre-installed github software.

This fixes Issue #64, and will allow PR #63 to pass all checks

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@lextm

lextm commented Jul 10, 2021

Copy link
Copy Markdown

You might find #45 kind of familiar.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@hwthomas

hwthomas commented Jul 12, 2021

Copy link
Copy Markdown
Collaborator Author

Can't explain what is going on here. Will investigate further. Apologies for the noise.
@lextm - yes, I found your testing in #45 useful.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@hwthomas

hwthomas commented Jul 15, 2021

Copy link
Copy Markdown
Collaborator Author

I've done some more testing, but failed to get the CI workflow to run without error. The current main one has 4 errors, all apparently from changes in the fsharp versions in the github ubuntu 20.04 environment. Installing software explicitly, which seemed to work initially, now fails with over 100 errors, some such as
DOWNLOADNUPKG : Ssl error : 1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED which I have no idea how to tackle!
@lextm: I've copied your amended workflow from #45 to try out using a container, which would hopefully start from a more basic ubuntu repo, but even this now fails to run.
Using VMs, ubuntu 20.04, ubuntu 21.04, and fedora 33 all build and run with no problems, following the Wiki instructions, so it appears to be the github CI workflow environment which is at the root of the problem.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@lextm

lextm commented Jul 15, 2021

Copy link
Copy Markdown

The cause is rather simple that Microsoft is retiring NuGet.org v2 API, https://docs.microsoft.com/en-us/nuget/nuget-org/overview-nuget-org#api-endpoint-for-nugetorg

If you override NuGet settings to use v3, I think it should work again.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@hwthomas

hwthomas commented Jul 18, 2021 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Collaborator Author

I've updated the CI workflow file to use the docker image "ubuntu:20.04" and explicitly installed all the necessary packages into that. After some trial-and-error testing in my CI_tests branch, I have a working version that passes the CI runs.

However, after transferring this version to the fix_CI_env branch, the same code fails, with multiple errors of the form DOWNLOADNUPKG : Ssl error : 1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED as seen in the runs above. I'm not sure what to make of this: usually intermittent failures suggest concurrency issues, but perhaps there's another possibility?

@lextm: following your suggestion, I checked the dotdevelop/.NuGet.config file, but it appears to be using v3 already. Is there somewhere else to look?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@hwthomas

hwthomas commented Jul 19, 2021 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Collaborator Author

The numerous Ssl error : 1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED errors seem to have reduced after installing ca-certificates-mono, but some CI runs still fail, while others succeed, for no obvious reason.
The logs show errors such as "- Something went wrong downloading StrongNamer 0.0.8" and " - Something went wrong downloading FSharp.Compiler.Service 31.0", which may be due to the change from FSharp 4.5 to FSharp 5.0 (or perhaps not!)
Any suggestions would be appreciated.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@hwthomas
hwthomas force-pushed the fix_CI_env branch from cd52e77 to a38cc91 Compare July 24, 2021 13:32
@hwthomas
hwthomas force-pushed the fix_CI_env branch from ac93b6a to 0137b6b Compare August 3, 2021 14:57
@lytico

lytico commented Aug 4, 2021

Copy link
Copy Markdown
Member

@hwthomas ready to merge, what do you say?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@hwthomas

hwthomas commented Aug 5, 2021 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Collaborator Author

@lytico - I've had several consistent runs now in my fix_CI_env and CI_tests branches, so I'm happy if you are.

The Ssl error : 1000007d problems seemed to be caused by trying to access nuget.org/v2 sites, but I've not been able to track down where these calls originate in the build, and I still don't understand how or why the failures were intermittent.
I've squashed all the 'trial-and-error' commits into a single one to make life a bit simpler

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@lytico

lytico commented Aug 5, 2021

Copy link
Copy Markdown
Member

how or why the failures were intermittent.

i have this on other CI's as well, seems to be a workload problem on github or nuget.org, maybe ...

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@lytico

lytico commented Aug 5, 2021

Copy link
Copy Markdown
Member

I checked the dotdevelop/.NuGet.config file, but it appears to be using v3 already

but maybe on the tons of subprojects they are not?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@hwthomas

hwthomas commented Aug 5, 2021

Copy link
Copy Markdown
Collaborator Author

i have this on other CI's as well, seems to be a workload problem on github or nuget.org, maybe ...

That's interesting. I was assuming it was a concurrency issue, but couldn't find a way to run the CI in a single thread to check. At least I'm not the only one to have had a problem!

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@hwthomas
Base CI workflow on docker "ubuntu:20.04" minimal image
89baf76
  Install all necessary packages for the dotdevelop build

  Use stable mono repo (rather than preview) so
  mono version is 6.12.0.122; msbuild is 16.6.0
  Squash intermediate (testing) commits into one
@hwthomas
hwthomas force-pushed the fix_CI_env branch from 0137b6b to 89baf76 Compare August 9, 2021 08:34
@hwthomas

hwthomas commented Aug 9, 2021

Copy link
Copy Markdown
Collaborator Author

but maybe on the tons of subprojects they are not?

A full search of the repo shows that nuget.org/api/v2 only occurs in the external/fsharpbinding project, in files paket.dependencies and .nuget/NuGet.targets
Successful run CI#80 (https://github.com/dotdevelop/dotdevelop/runs/3232143181?check_suite_focus=true#step:6:4311) shows all the fsharpbinding dependencies being restored without problem, and without needing to download from https://www.nuget.org/api/v2/.
In contrast, failing run CI#78 (https://github.com/dotdevelop/dotdevelop/runs/3161054112?check_suite_focus=true#step:4:4324) tries to access these sources and fails.

@lytico As this is a specific fsharpbinding problem, would it be better to deal with it in a separate Issue/PR?

For this PR though, basing the CI workflow on a minimal docker image still seems worthwhile, as it gives finer control over the software environment, particularly if/when mono and msbuild versions change as .NET5 stabilises and progresses. It also links the CI to the 'Setting up a Build Environment' Wiki pages more clearly.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@lytico
lytico merged commit f0019a0 into dotdevelop:main Aug 9, 2021
@lytico

lytico commented Aug 9, 2021

Copy link
Copy Markdown
Member

A full search of the repo shows that nuget.org/api/v2 only occurs in the external/fsharpbinding project, in files paket.dependencies and .nuget/NuGet.targets

what if changing to nuget.org/api/v3 in this files?
should be another PR

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@hwthomas
hwthomas deleted the fix_CI_env branch August 11, 2021 09:16
@hwthomas

hwthomas commented Aug 15, 2021

Copy link
Copy Markdown
Collaborator Author

what if changing to nuget.org/api/v3 in this files?

Using "https://api.nuget.org/v3/index.json" as the url in the paket.dependencies file gave an error:-

Starting full restore process.
Performance:
- Runtime: 597 milliseconds
Paket failed with
-> The NuGet source https://www.nuget.org/api/v2 for package FSharp.Compiler.Service was not found in the paket.dependencies file with sources [NuGetV3 {Url = "https://api.nuget.org/v3/index.json"; ...}

Where could the reference https://www.nuget.org/api/v2 for package FSharp.Compiler.Service be coming from? As far as I can see it does not occur anywhere in the repo, so how to get rid of it?

Any suggestions or pointers for further investigation/understanding would be much appreciated. Until then I'll leave the PR.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@hwthomas hwthomas mentioned this pull request Sep 1, 2021
CI workflow not building correctly #64
Closed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

3 participants

@hwthomas @lextm @lytico
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.