Skip to content
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

Stable 2.0.0 release #79

Closed
greg-1-anderson opened this issue Apr 14, 2020 · 11 comments
Closed

Stable 2.0.0 release #79

greg-1-anderson opened this issue Apr 14, 2020 · 11 comments

Comments

@greg-1-anderson
Copy link

Composer 2 testing for Drupal 8.9 / 9.0 dev is in progress.

It might be possible to release a version of Drupal compatible with Composer 2 prior to the release of Composer 2. However, drupal/core depends on composer/semver, and we can't increase our dependency here to 2.x until there's a stable 2.0.0. (Drupal requires composer/composer for testing, so we need to use a composer/semver that is compatible with Composer.)

We can probably still release versions of our Composer plugins that are compatible with Composer 2 in advance even without the new version of composer/semver, which is the important part. If it's possible to tag a stable composer/semver in advance of the stable Composer 2.x, though, it would make things a touch more convenient.

@Seldaek
Copy link
Member

Seldaek commented Apr 14, 2020

What's your timeline on this? The main blocker here for a 2.0 is #75 which I am not sure what's up with nor if @Toflar will have time to push it forward soon.

@greg-1-anderson
Copy link
Author

Drupal 9.0.0 stable is currently on track to be released in June; it may or may not make it.

With a stable Semver 2.0.0 release in advance of that date, we could probably make Drupal 9.0.0 compatible with Composer 2, even if Composer 2 is not stable by then. Without a Semver 2.0.0 release, we might be able to be partially compatible (e.g. just our Composer plugins, which is the important part).

It's hard to give a firm deadline on the timeline, because whether issues are committed or not depends on a number of factors, and the actions of multiple community members.

@Seldaek
Copy link
Member

Seldaek commented Apr 14, 2020

Ok, I hope we can make that happen, but we're in the same boat when it comes to holding deadlines :)

@greg-1-anderson
Copy link
Author

Actually I misspoke here. We only need to upgrade to Semver 2.0.0 in Drupal core in order to run our tests against Composer 2. It would be possible to continue testing with Composer 1, but still in fact be compatible with Composer 2, perhaps with some assurances.

e.g. in this patch I re-run just the plugin tests with the Composer 2 cli, with Composer 1 still in vendor, so the functional tests are against Composer 2, but the unit tests are against Composer 1. Not perfect, but maybe the core committers will still think it's okay, especially since there's an earlier patch that ran the whole suite against Composer 2 (not to be committed, but just to test once).

We'll just do our best with what we have. If you could be so kind as to keep this issue open until the 2.0.0 release is tagged, and then close it, then I will use the GitHub notification to spur myself back into action on the Drupal side. 😄

@Toflar
Copy link
Contributor

Toflar commented Apr 14, 2020

I was waiting for feedback on #75 (or actually composer/composer#8546) but didn't hear anything until last Thursday :) I'm gonna pick up work again soon so we can get this done. Shouldn't be any issue to get this sorted before the Drupal release :)

@Seldaek
Copy link
Member

Seldaek commented Apr 21, 2020

2.0.0 of semver is out!

@Seldaek Seldaek closed this as completed Apr 21, 2020
@Seldaek
Copy link
Member

Seldaek commented Apr 21, 2020

@greg-1-anderson
Copy link
Author

Yay! Thank you!

@Seldaek
Copy link
Member

Seldaek commented May 5, 2020

@greg-1-anderson most likely we're looking at releasing a 3.0 here soon as we unexpectedly piled on so much stuff since 2.0.. Would that cause trouble on your end or not? I could also make it a 2.1 but it's more work if we do it with strict BC concerns. Composer 2 will end up having to require the new version, regardless which it is.

@greg-1-anderson
Copy link
Author

@Seldaek I hope that my request for an early 2.0 didn't cause too much inconvenience. It turns out that a stable tag here isn't going to help me much unless Composer 1 also has a release that includes composer:semver: ^1 || ^3 (or whatever).

We have instead kept the issue of the composer/semver upgrade tied to the composer/composer ^2 upgrade, and separated both from the concern of making our Composer plugins compatible with the Composer 2 API. The good news is that Drupal 8.9.x-dev and 9.0.x-dev are compatible with the Composer 2 API on the current HEAD of each respective branch, so it will be possible to use Composer 2 with Drupal 8.9.0 and 9.0.0.

At this point, there probably isn't enough time to get a stable composer/semver 3.0 and a stable release of Composer 1 that optionally uses it, AND get it into 8.9.x / 9.0.x. The upshot of this is that you WILL be able to use Composer 2 with 9.0.0, but you WILL NOT be able to use Composer 2 APIs in the Drupal tests, or composer/semver 2/3 APIs at all until Drupal 9.1 at the earliest.

I think this is okay.

@Seldaek
Copy link
Member

Seldaek commented May 26, 2020

Yeah it's not gonna be possible for Composer to sanely support two versions of semver I'm afraid.. Anyway 3.0 is out here, now back to focusing on Composer 2.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants