Open MikeAlhayek opened 1 month ago
We'll start this process after PR #16402 is merged.
Don't do this yet, please. We had tons of regressions, the last one you discovered yesterday, so let's wait a bit to see if anything new will be discovered.
@sarahelsaig is also still working on upgrading Orchard Core Commerce (see https://github.com/OrchardCMS/OrchardCore.Commerce/pull/454) and other solutions to the latest preview. Since the goalpost keeps moving with new issues discovered, this is far from straightforward.
@Piedone yes no need to release this immediately. But as far as I know that @sarahelsaig has been working on this for a while now and found one bug only "which was fixed". So I assumed there was no additional bugs found. Either way, at some point we have to draw a line and just ship so we can allow wider audience to test the new release.
Actually I've found 11 bugs while testing with OCC and the Lombiq modules. The latest was fixed only 3 weeks ago. Also earlier this week I have found a new ISession
concurrent access bug in OCC. I haven't opened an issue yet because I couldn't isolate the reproduction steps and it would not be a useful bug report without that.
The point though is, having OCC and a few other large Lombiq solutions upgraded, and their over 300 UI tests passing, is a strong evidence that we're ready for a release. Otherwise, we'll have subsequent patch releases every other day.
This has been a really bumpy road, getting blocked repeatedly. Version 2 will be a very risky release, hence we had a huge amount of regressions reported. So, due to the lack of a comprehensive automated QA suite, this is our second-best bet to make sure it'll go well.
We can prevent further moving the goalposts by not merging anything else than bugfixes though.
@Piedone Ideally we want Lombiq projects converted and all tests pass. But, will this happen any time soon? We just don't want to hold the release indefinitely without having some sort of plan to release. Is there a target finish date for Lombiq transition?
Actually I've found 11 bugs while testing with OCC and the Lombiq modules.
@sarahelsaig beside that ISession issue, are there any other issue from the 11 you reported that still need to be addressed?
I'll defer about the timing to Sári. However, this also depends on what changes go to OC in the meantime.
Once we have timeline, we'll be able to determine what will go into 2.0 and what will have to wait. But we should be looking into releasing 2.0 before August 1st as a max date. 1.8.0 was released in January 2, 2024. So we are well over due for a release.
We triaged this issue and set the milestone according to the priority we think is appropriate (see the docs on how we triage and prioritize issues).
This indicates when the core team may start working on it. However, if you'd like to contribute, we'd warmly welcome you to do that anytime. See our guide on contributions here.
Change the Orchard Core version in the project templates, more specifically in dotnetcli.host.json and template.json files.
@Piedone I think this line item you added to the to do list. Both dotnetcli.host.json
and template.json
are not tracked on Github. Why do we need these files? Should they be checked in?
They are part of the templates:
Are there any drawbacks to gitub's nuget service?
Do you mean GitHub Packages? It isn't free, unlike Cloudsmith.
@Piedone I tried a long time ago without any cost
I see, it's actually free for public packages: https://docs.github.com/en/billing/managing-billing-for-github-packages/about-billing-for-github-packages#about-billing-for-github-packages
Yes it's, it might be suited for us, especially for nightly builds, the thing I suffered from at that time was referencing them, from another apps
@hyzx86 @Piedone @hishamco please convert that into a discussion so we can keep this issue 2.0.0 release related only.
Thank you
They are part of the templates:
@Piedone I think the issue is that these files are ignored from .gitignore
I am not sure why these are ignored. @agriffard do you recall why this folder was ignore while the files are still on the server? https://github.com/OrchardCMS/OrchardCore/commit/a9122aea1a9bf4e138e63cadb86f258355f03504#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947R204
In this PR, I removed the exclusion rule so that we can track changes to the .template.config
folders.
I don't feel like moving to GitHub Packages BTW, it seems like a pretty equivalent service.
@Piedone It looks like @sarahelsaig completed the migration of e-commerce project and everything is passing. Are there any other project that we should wait for before we resume the release of 2.0?
Yeah, she's working on DotNest as well, which is a different kind of test with all the random people's tenants. Note though that every breaking change like https://github.com/OrchardCMS/OrchardCore/pull/16493 necessitates another round of updates.
I'd also be a lot more confident if we can go a week without a regression being reported.
Note though that every breaking change like https://github.com/OrchardCMS/OrchardCore/pull/16493 necessitates another round of updates.
This update should not need any code change. Rebuilding the project should be all one will need.
I am okay with waiting a week to waiting. But the question, how long will the DotNest upgrade takes? @sarahelsaig in there an rough ETA for DotNest?
This update should not need any code change. Rebuilding the project should be all one will need.
Great, then!
in there an rough ETA for DotNest?
Unless there are some new surprise breaking change, I will finish it in the next couple days.
@sarahelsaig can you share updates, please?
The important point is that all of our current queries SqlQuery
, Lucene Query
and Graphql Query
as well as the scripting extension executeQuery
don't support totals so if we can't get these PRs done on the fly, can we start by defining these api's as returning an object rather than a collection?
The important point is that all of our current queries
SqlQuery
,Lucene Query
andGraphql Query
as well as the scripting extensionexecuteQuery
don't support totals so if we can't get these PRs done on the fly, can we start by defining these api's as returning an object rather than a collection?
@hyzx86 is this comment related to the release process of 2.0? Maybe you meant to post that on a different issue.
This issue is strictly for releasing 2.0 not with issues that could be related to 2.0. If you have an issue with 2.0, please open a new issue and we'll tag it with 2.0 milestone.
The important point is that all of our current queries
SqlQuery
,Lucene Query
andGraphql Query
as well as the scripting extensionexecuteQuery
don't support totals so if we can't get these PRs done on the fly, can we start by defining these api's as returning an object rather than a collection?@hyzx86 is this comment related to the release process of 2.0? Maybe you meant to post that on a different issue.
This issue is strictly for releasing 2.0 not with issues that could be related to 2.0. If you have an issue with 2.0, please open a new issue and we'll tag it with 2.0 milestone.
I mean these tweaks will need to introduce some disruptive updates, and since we've already done some disruptive upgrades in 2.0
@hyzx86 Then please open a separate issue with any issue/concerns you may have with the current state of main.
I'm close to the end now. We need this before the 2.0 release: https://github.com/OrchardCMS/OrchardCore/issues/16580 I'm also investigating another strange behavior, but I'm not sure if that's related to OC yet. I will follow up with updates later today or tomorrow. EDIT: described the strange behavior in #16585.
@MikeAlhayek Good news, we are done testing with DotNest.
@sarahelsaig that is great news! Do you want to tackle https://github.com/OrchardCMS/OrchardCore/issues/16585 ?
@sarahelsaig that is great news! Do you want to tackle #16585 ?
I did it here: #16623.
Nothing else remaining here before release, right?
I like to take https://github.com/OrchardCMS/OrchardCore/pull/16636 and https://github.com/OrchardCMS/OrchardCore/pull/16614 in 2.0 since both has a breaking change.
Nothing else remaining here before release, right?
I need to update PO Extract tool as well
Can we expect OC 2.0.0
to be released within 1-2 weeks? If Yes I will do the update ASAP
The plan is to release OC early next week. So feel free to update the translations.
IMHO we could do it in the OC Harvest :) meanwhile, we can test the latest fixes and check the translations, and integrations. Also OC Commerce and DotNest could do a final check before releae
We want to release it before so we can talk about it and about 3.0 during the harvest.
we can talk about it and about 3.0 during the harvest.
I'm not sure in which session we can talk about the current and future releases
Probably during Q/A or side chats. I also think it's part of the keynote we are mentioning 3.0
@agriffard can you please release translations package for 2.0.0?
Can we hold for 1-2 days I need to bump PO Extractor update then @agriffard can release translation packages for 2.0.0
Prepare the project
Do some housekeeping on GitHub in the main repo.
Prepare the code and documentation
Update the source, so everything looks like on the new version.
release/<version name>
branch (e.g.,release/2.0.0
) frommain
or the previous release branch. This is necessary to target pull requests for the upcoming release.OrchardCore.Commons.props
file with<VersionSuffix></VersionSuffix>
such that preview build numbers are not injected in packages. Verify theVersionPrefix
tag matches the released version.src/OrchardCore/OrchardCore.Abstractions/Modules/Manifest/ManifestConstants.cs
.dotnetcli.host.json
andtemplate.json
files.mkdocs.yml
and remove it fromnot_in_nav
.Test the release
Make sure everything works all right.
OrchardCore.Samples
works.release/
are automatically published too). Test at least the following guides:Prepare and publish Orchard Core Translations
Update everything in the Translations project. Only do this once all the code changes are done since localized strings can change until then.
OrchardCore.Translations.All
package reference in the main repo's ./Dependencies.Packages.props file to refer to the new NuGet package.Publish the release
Do the harder parts of making the release public. This should come after everything above is done.
release/<version name>
with the version. Includev
in the name, e.g.v2.0.0
.release/<version name>
tomain
.release/<version name>-integration
branch and fix them there.For details on this version see the [release notes in the documentation](link here).
). Note that the docs will only be built once the branch is merged tomain
.After the release is done
OrchardCore.Docs
project. (e.g.,/releases/2.0.0.md
). Don't add it to the docs navigation and exclude it from validation undernot_in_nav
withmkdocs.yml
.OrchardCore.Commons.props
file with the next release number, and<VersionSuffix>preview</VersionSuffix>
such that preview builds use the new one.Publicize the release
Let the whole world know about our shiny new release. Savor this part! These steps will make the release public so only do them once everything else is ready.