nunit / nunit-console

NUnit Console runner and test engine
MIT License
215 stars 151 forks source link

Release 3.16.3 is missing several packages on GitHub. #1327

Closed CharliePoole closed 3 weeks ago

CharliePoole commented 1 year ago

This release appears to have been done manually, rather than through the automated release procedure used in earlier releases. It doesn't include the zip, msi or chocolatey packages.Several snupkgs have been added, which don't seem to be useful when downloaded from GitHub.

The release process is almost fully automated and is documented at https://github.com/nunit/nunit-console/wiki/Creating-a-New-Release I updated that page as of the last release I did, 3.16.2. As always, I'm available to answer questions from whomever is now doing releases.

rprouse commented 1 year ago

Thanks for pointing out the documentation @CharliePoole, I was trying to follow https://docs.nunit.org/articles/developer-info/Packaging-the-Console-and-Engine.html and thought it hadn't been updated. I will update that document to point to the Wiki.

CharliePoole commented 1 year ago

This just came up in #1333.

CharliePoole commented 1 year ago

@rprouse I see you have made this a documentation issue. However, the missing packages could still be added to the GitHub release by building locally from the 3.16.3 tag and uploading manually. Any reason not to do that?

indy-singh commented 1 year ago

This caused a lot of confusion for us. If we look at the two previous releases (3.16.1, 3.16.2):-

https://github.com/nunit/nunit-console/releases/download/3.16.1/NUnit.Console-3.16.1.zip
https://github.com/nunit/nunit-console/releases/download/3.16.2/NUnit.Console-3.16.2.zip

They have "everything".

But 3.16.3 seems incomplete when compared to the aforementioned versions. For one it doesn't have the zip that contains everything.

We ended up building our own zip using the https://github.com/nunit/nunit-console/releases/download/3.16.3/NUnit.ConsoleRunner.3.16.3.nupkg

Pretty confusing!

Cheers, Indy

Vemahk commented 9 months ago

With the release of .NET 8, I'd like to use this version in TeamCity, but it is missing the .zip file that TeamCity uses to import it. Any chance we can get those files added to the 3.16.3 release? I tried to pull source and build it on my own, but tests were failing using the build script, and I can't dedicate too much time trying to figure out what exactly my environment is missing to get it building properly.

Alternatively, does anyone know if the more recent 3.15.x releases also have .NET 8 support?

OsirisTerje commented 9 months ago

@vemahk The 3.15.4, which is used in the NUnit3TestAdapter and 3.15.5 have support for .net 8, that is, they don't block .net 8. They work with .net 8 in the adapter.

We will probably move the 3.15 forward, and then "side-port" PRs from the 3.16.X series, but avoiding those changes that have caused crashes in 3.16.X. We are however short on resources, and this work will be driven by the requirements from the NUnit3TestAdapter.

vytasilj commented 7 months ago

Is it possible to release zip files again? TeamCity requires them, but the new NUnit console versions don't include zip files either.

Is there any list of differences between 3.15.4, 3.16.3 and 3.17.0? Somewhere I see .NET 8, somewhere NUnit 4, but I have no idea if the higher version number includes everything from the lower one.

mikkelbu commented 7 months ago

Is it possible to release zip files again? TeamCity requires them, but the new NUnit console versions don't include zip files either.

I cannot remember the history about this, so I'll have to examine why these are not included, but from Charlie's comment - https://github.com/nunit/nunit-console/issues/1327#issuecomment-1503684756 - it sounds like we could just add them manually. I was hoping to find them at https://ci.appveyor.com/project/CharliePoole/nunit-console/history, but they are no longer there and it seems like the AppVeyor build is no longer building.

Is there any list of differences between 3.15.4, 3.16.3 and 3.17.0? Somewhere I see .NET 8, somewhere NUnit 4, but I have no idea if the higher version number includes everything from the lower one.

You can compare the tags - e.g. https://github.com/nunit/nunit-console/compare/3.16.3...3.17.0 - but as mentioned above 3.16.X contains some problems, so 3.17 is based on 3.15 along with some cherry picked changes from 3.16. You can also see the release notes at https://docs.nunit.org/articles/nunit-engine/release-notes.html although they have not been updated with the latest fixes. I'll see if I can do this at some point.

CharliePoole commented 7 months ago

@OsirisTerje @vytasilj @Vemahk It's pretty trivial to create the zip from a nuget install. The directory structure is almost the same. It could be done on the fly by TeamCity, if desired, or by a team member who would then add it to the GitHub release for each tag.

If any team member wants some coaching in how to do that, contact me offline. The main issue is getting the correct addins directory and .addins file in place.

mikkelbu commented 7 months ago

@CharliePoole I'll try to do it - tomorrow - if I cannot make it work, then I'll send you an email (if that is what you meant by offline)

CharliePoole commented 7 months ago

@mikkelbu Oh no... you should come and seem me! :wink:

OsirisTerje commented 7 months ago

I got the zip file from the local build for the release 3.17. And it is uploaded now.

Just saw it was rather large so I omitted it when I uploaded the others. The auto function (CreateDraftRelease/CreateProductionRelease) there to add them doesn't work, Possibly because it comes off a branch. @CharliePoole Any comments to that would be appreciated :-)

The missing files for the 3.16 series should just stay as they are, as we should just archive those releases. We should further port the resolved 3.16 issues except the one (whichever that is) that crashes the 3.16. And when that is done, release a 3.18 to cover it.

I'm also updating the wiki page for the release procedure as I work through it.

The release notes have been updated for 3.17, but not been updated for the 3.16.X. The best way to see the differences is to look at the issues per milestone. We do however have a challenge with the issues that have been ported. It would be better if we added new issues for porting instead of reusing the same ones, as they can only point to one milestone.

CharliePoole commented 7 months ago

@OsirisTerje

The tasks are run on every AppVeyor build but can also be run manuallly. However, they don't always do anything because they check the name of the branch. Draft release can only be created on a release branch and production release on main.

(This is from memory, so look at the code.)

The bloated zip has been a long-standing problem if you look back. It's an error and I only noticed it when doing my last release. I intended to leave an issue but it's possible I didn't. I suggest fixing it for 3.18. The file should have the same binaries as the nupkg plus the four or five addins we bundle with it. I think the addins are the reason that the teamcity guys need the zip restored.