-
Notifications
You must be signed in to change notification settings - Fork 152
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
Develop a new CI build running under GitHub Actions #1435
Comments
It appears that @OsirisTerje has started this already. We can use this as a basis. I am inclined to leave the logic of what actions to take to the Cake recipe rather than calling cake multiple times for a push, but that's open for discussion. |
@veleek Any progress on this? |
Minimal progress, mostly spending time digging through the existing code and familiarizing myself with build stuff. I spent a bit of time getting stuff setup as well as trying to see if I could use act to run the actions locally, but that ended up being a dead end because it doesn't work great with Windows hosts (what the current action uses). |
I moved it the next release in order to get 3.18 out. Act sounds interesting. Too bad it didn't work out. So what next? Are you able to continue on this? I'm wondering if it isn't as simple (initially) as looking at what we do in our Going beyond those two steps introduces questions of authorization of course, but there is a |
That works for me! I had a bit of time to spend on this tonight and I'm testing a bunch of stuff out in my fork, but I'm running into some unexpected issues. I have the action setup to just run the exact same build.ps1 that is run by the Appveyor script and it's failing on a later packaging step. See https://github.com/veleek/nunit-console/actions/runs/10002323808/job/27647413350 for details on the error.
I'm surprised by a Gateway Time-out, but I also can't find that package at all, since https://community.chocolatey.org/packages/nunit-extension-nunit-project-loader/3.7.1 definitely exists. Do you have any insight about what to do here? Mostly unrelated thing, I also wanted to see whether we could use the GitHub actions "matrix" strategy to build/test a bunch of the different versions in parallel. It'd probably need to happen later because to do it right we'd have to pull a bunch of the logic out of cake and into the GitHub action, but before I spend time on it i'm interested in hearing whether there's a reason that we need to build them all together or could we pass in a "framework version" attribute and have it build/test that one. Or are there tests that depend on having multiple different versions SxS? |
That package is not a chocolatey package... I think nuget is just looking on all the feeds for it and happens to encounter that gateway timeout. I've never found a problem with building sequentially. I'm in the "make it work first" camp. |
@veleek As I mentioned, I'll be (mostly) out of action for the next three weeks. My sister and her husband are visiting us. I'll do a bit, perhaps late at night, with my priorities being...
My suggestion for some sub-goals for you on this issue:
You should rebase your own branch on the latest main, which matches the 3.0.1 release. Since I wont be changing the script for a few weeks it will remain stable. Of course, if something critical requires changing the script itself, I'll tell you, Time allowing, I'm going to port some script changes I made on NUnit to TestCentric. In particular, I added code to allow package tests to be run against multiple versions of the console, which is useful for testing extensions. I may also shadow some of your work on TestCentric. |
Created an initial PR to make some tweaks to the github action, as well as a separate one to update the Cake recipe to enable binlogs. Next step is going to be further troubleshooting the package steps to try and identify the problems. |
I've identified the reason that the package verification tests are failing. We are missing X86 versions of the .NET Runtime (or SDK?) on the machines so they will fail with errors similar to this failing run: https://github.com/veleek/nunit-console/actions/runs/10328774992/job/28595729078 I haven't had a chance to look at the setup-dotnet docs to figure out how to install the right things. I had similar error on my local dev box when running x86 versions of tests and I had to explicitly install the x86 versions of the SDKs to resolve them. But interestingly, on the GH action run linked above, the x86 on .NET 8 job succeeded even though we don't explicitly install an x86 version of that. I suppose it's possible that version is already available by default?
|
I'd be OK with commenting out the X86 tests for now or installing. I can work on this while you are traveling as well. We should figure out what we want to have working immediately vs longer term. WRT .NET 8, I have noticed it seems to be available without installing. My workflow for the recipe worked without any step to install .NET. |
If you look in the Setup Job portion of the action run there's a link: that lists all of the included software on the runner image. So for the windows runners, they've already got all of these .NET tools installed. |
So probably X86 is installed as well for .NET 6, 7 and 8. Surprising it isn't included when you install core 3.1. We can test all that of course. For ubuntu-latest, you get these tools. .NET 6, 7 and 8 are all there as well. |
This issue has been resolved in version 3.18.2 The release is available on: |
AppVeyor is continuing to have issues so creating an alternative approach is necessary. This should be relatively simple since all it has to do is kick off our build.cake with the proper options and handle the results.
@veleek Are you familiar with GitHub actions? Would you be willing to take this?
The text was updated successfully, but these errors were encountered: