Skip to content

Drupal 9 compatibility for 3.x #1067

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

Closed

Conversation

hugovk
Copy link

@hugovk hugovk commented Aug 14, 2020

Fixes #1011.
Based on, replaces and closes #1012 (with thanks to @damienmckenna).

Because the GraphQL v4 module isn't compatible with Drupal 8, contains breaking changes and requires a lot of rewriting, it will help the community to be able migrate to Drupal 9 sooner and by changing fewer things at each step.

Also, v4 is still in beta and therefore not covered by the security advisory policy, so may be not ready for production.

Once migrated to D9, users will be able to perform the v4 upgrade.

The tests pass on Travis CI for Drupal 8.8, 8.9 and 9.0.

Our D8.9 site's own unit tests pass with these changes.

This was referenced Aug 14, 2020
@codecov
Copy link

codecov bot commented Aug 14, 2020

Codecov Report

Merging #1067 into 8.x-3.x will increase coverage by 0.00%.
The diff coverage is 75.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##             8.x-3.x    #1067   +/-   ##
==========================================
  Coverage      78.71%   78.72%           
  Complexity      1139     1139           
==========================================
  Files            192      192           
  Lines           3026     3027    +1     
==========================================
+ Hits            2382     2383    +1     
  Misses           644      644           
Impacted Files Coverage Δ Complexity Δ
src/Form/EntityQueryMapImportForm.php 0.00% <0.00%> (ø) 7.00 <0.00> (ø)
src/Routing/QueryRouteEnhancer.php 97.05% <100.00%> (+0.08%) 17.00 <0.00> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 94cbcd4...7aa668b. Read the comment docs.

@joaogarin joaogarin requested review from fubhy and pmelab and removed request for fubhy August 25, 2020 08:10
@hugovk hugovk mentioned this pull request Aug 31, 2020
@klausi klausi added the 3.x label Aug 31, 2020
Copy link

@carolpettirossi carolpettirossi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I created a patch from #1067 and applied successfully to 3.x-dev. :tallyhappy:

Upgrade status marks as green. However, few warnings that could be fixed (maybe in a separate issue?)
image (6)

Copy link

@acha5066 acha5066 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have tested this PR with 9.0.6 and all my queries and mutations are working as expected. Nice work!

The warnings mentioned seem to be related to Symfony rather Drupal so they shouldn't be blockers

- graphql
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know this is small, but we should be using the new format for dependencies, graphql:graphql

Comment on lines 5 to 6
- block
- block_content
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As above

@@ -2,6 +2,6 @@ name: GraphQL Breadcrumbs test
type: module
description: 'Test for breadcrumbs.'
package: GraphQL
core: 8.x
core_version_requirement: ^8.8 || ^9
dependencies:
- graphql_breadcrumbs
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See above

@@ -2,7 +2,7 @@ type: module
name: GraphQL Requests Test
description: Dummy callbacks for internal request testing.
package: Testing
core: 8.x
core_version_requirement: ^8.8 || ^9
hidden: TRUE
dependencies:
- graphql_core
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again

@@ -1,5 +1,5 @@
name: 'GraphQL Tests: Menu'
type: module
core: 8.x
core_version_requirement: ^8.8 || ^9
dependencies:
- system
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

again.

@@ -2,7 +2,7 @@ type: module
name: GraphQL Enumeration Test
description: Test enumeration plugins.
package: Testing
core: 8.x
core_version_requirement: ^8.8 || ^9
hidden: TRUE
dependencies:
- graphql
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

...

@@ -2,7 +2,7 @@ type: module
name: GraphQL Override Test
description: Test plugin overrides in graphql schema.
package: Testing
core: 8.x
core_version_requirement: ^8.8 || ^9
hidden: TRUE
dependencies:
- graphql_plugin_test
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

...

@@ -2,7 +2,7 @@ type: module
name: GraphQL Test
description: Provides a default schema plugin for testing.
package: Testing
core: 8.x
core_version_requirement: ^8.8 || ^9
hidden: TRUE
dependencies:
- graphql
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

...

@@ -1,7 +1,6 @@
name: GraphQL Core
type: module
description: 'Provides type system plugins and derivers on behalf of core modules.'
package: GraphQL
core: 8.x
package: Testing

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why? This is not a 'Testing' package - it is a normal submodule that is meant to be installed by users.

Leksat added a commit to Leksat/graphql-drupal that referenced this pull request Oct 27, 2020
pmelab pushed a commit that referenced this pull request Oct 29, 2020
* Update core_version_requirement for Drupal 8.8+ and 9+

'core: 8.x' not needed for 8.8+
'core_version_requirement' not needed for test modules

https://www.drupal.org/node/3070687

Co-authored-by: Damien McKenna <[email protected]>

* Test D9.0 on Travis CI

* Replace deprecated drupal_set_message() with messenger->addMessage()

Co-authored-by: Damien McKenna <[email protected]>

* Replace deprecated file_directory_temp() with getTempDirectory()

Co-authored-by: Damien McKenna <[email protected]>

* Replace deprecated PHPUnit_Framework_MockObject_MockObject with PHPUnit\Framework\MockObject\MockObject

Co-authored-by: Damien McKenna <[email protected]>

* Replace deprecated RouteEnhancerInterface with EnhancerInterface

Co-authored-by: Damien McKenna <[email protected]>

* Remove deprecated PHPUnit_Framework_Error_Warning

* Replace 'core: 8.x' with 'core_version_requirement: ^8.8 || ^9'

* Replace deprecated entity.manager with entity_type.manager

* Must enable the path_alias module in tests

* Replace deprecated url() with createFileUrl(FALSE)

* Assert menu is an object, rather than assert it is true

* chore: adjust things mentioned in #1067

* chore: adjust info.yml files for test modules

* chore: trigger travis build

* chore: keep composer at version 1

Co-authored-by: Hugo van Kemenade <[email protected]>
Co-authored-by: Damien McKenna <[email protected]>
@hugovk
Copy link
Author

hugovk commented Oct 29, 2020

Merged in #1102 and released in https://www.drupal.org/project/graphql/releases/8.x-3.1 🎈

@hugovk hugovk closed this Oct 29, 2020
@hugovk hugovk deleted the 8.x-3.x-drupal-9-compatibility branch October 29, 2020 14:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants