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

Gutenberg/integrate release 1.31.0 #12258

Merged
merged 35 commits into from
Jun 26, 2020

Conversation

mchowning
Copy link
Contributor

@mchowning mchowning commented Jun 23, 2020

Merging Gutenberg 1.31.0 Release. 🎉

For changes that need to be tested, take a look at the related gutenberg-mobile PR: wordpress-mobile/gutenberg-mobile#2423

This is the first release with the monorepo changes, so please take extra care to test the WPAndroid build process, and ensure we can build:

  • With wp.BUILD_GUTENBERG_FROM_SOURCE set to either true and false
  • Different build variants: Wasabi, Jalapeno, Vanilla with both Release and Debug build types.

PR submission checklist:

  • I have considered adding unit tests where possible.
  • I have considered adding accessibility improvements for my changes.
  • I have considered if this change warrants user-facing release notes and have added them to RELEASE-NOTES.txt if necessary.

@mchowning mchowning added this to the 15.2 milestone Jun 23, 2020
@peril-wordpress-mobile
Copy link

peril-wordpress-mobile bot commented Jun 24, 2020

You can trigger optional UI/connected tests for these changes by visiting CircleCI here.

@peril-wordpress-mobile
Copy link

peril-wordpress-mobile bot commented Jun 24, 2020

You can test the changes on this Pull Request by downloading the APK here.

@oguzkocer
Copy link
Contributor

@hypest asked me to test the PR on Windows. I cloned a fresh copy, created the submodule and ran ./gradlew buildVanillaDebug with and without the BUILD_GUTENBERG_FROM_SOURCE flag and got failures for both. I don't think this should be taken into account for this PR since current develop doesn't build for me either, not without some manual intervention anyway and that only works if I set BUILD_GUTENBERG_FROM_SOURCE to true. So, I am just sharing this to reply @hypest.

Build logs for when BUILD_GUTENBERG_FROM_SOURCE is set to false:

npm ERR! code 1
npm ERR! Command failed: git submodule update -q --init --recursive
npm ERR! C:/Program Files/Git/mingw64/libexec/git-core\git-submodule: line 21: .: git-sh-setup: file not found
npm ERR!

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\arst\AppData\Roaming\npm-cache\_logs\2020-06-24T20_55_32_894Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] postinstall: `npm install --prefix gutenberg && npm run patch-react-native`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\arst\AppData\Roaming\npm-cache\_logs\2020-06-24T20_55_39_364Z-debug.log

> Task :@wordpress_react-native-bridge:npm_install FAILED

FAILURE: Build failed with an exception.

Build logs for when BUILD_GUTENBERG_FROM_SOURCE is set to true:

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':WordPress:buildVanillaDebugPreBundle'.
> Could not resolve all task dependencies for configuration ':WordPress:vanillaDebugRuntimeClasspath'.
   > Could not resolve project :react-native-linear-gradient.
     Required by:
         project :WordPress > project :libs:editor:WordPressEditor > project :@wordpress_react-native-bridge
      > Unable to find a matching configuration of project :react-native-linear-gradient:
          - Configuration 'checkstyle':
              - Other attributes:
                  - Required buildType 'vanilla' but no value provided.
                  - Required com.android.build.api.attributes.BuildTypeAttr 'debug' but no value provided.
                  - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
                  - Required org.gradle.usage 'java-runtime' but no value provided.
                  - Required org.jetbrains.kotlin.platform.type 'androidJvm' but no value provided.
          - Configuration 'ktlint':
              - Other attributes:
                  - Required buildType 'vanilla' but no value provided.
                  - Required com.android.build.api.attributes.BuildTypeAttr 'debug' but no value provided.
                  - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
                  - Required org.gradle.usage 'java-runtime' but no value provided.
                  - Required org.jetbrains.kotlin.platform.type 'androidJvm' but no value provided.
   > Could not resolve project :react-native-svg.
     Required by:
         project :WordPress > project :libs:editor:WordPressEditor > project :@wordpress_react-native-bridge
      > Unable to find a matching configuration of project :react-native-svg:
          - Configuration 'checkstyle':
              - Other attributes:
                  - Required buildType 'vanilla' but no value provided.
                  - Required com.android.build.api.attributes.BuildTypeAttr 'debug' but no value provided.
                  - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
                  - Required org.gradle.usage 'java-runtime' but no value provided.
                  - Required org.jetbrains.kotlin.platform.type 'androidJvm' but no value provided.
          - Configuration 'ktlint':
              - Other attributes:
                  - Required buildType 'vanilla' but no value provided.
                  - Required com.android.build.api.attributes.BuildTypeAttr 'debug' but no value provided.
                  - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
                  - Required org.gradle.usage 'java-runtime' but no value provided.
                  - Required org.jetbrains.kotlin.platform.type 'androidJvm' but no value provided.
   > Could not resolve project :react-native-video.
     Required by:
         project :WordPress > project :libs:editor:WordPressEditor > project :@wordpress_react-native-bridge
      > Unable to find a matching configuration of project :react-native-video:
          - Configuration 'checkstyle':
              - Other attributes:
                  - Required buildType 'vanilla' but no value provided.
                  - Required com.android.build.api.attributes.BuildTypeAttr 'debug' but no value provided.
                  - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
                  - Required org.gradle.usage 'java-runtime' but no value provided.
                  - Required org.jetbrains.kotlin.platform.type 'androidJvm' but no value provided.
          - Configuration 'ktlint':
              - Other attributes:
                  - Required buildType 'vanilla' but no value provided.
                  - Required com.android.build.api.attributes.BuildTypeAttr 'debug' but no value provided.
                  - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
                  - Required org.gradle.usage 'java-runtime' but no value provided.
                  - Required org.jetbrains.kotlin.platform.type 'androidJvm' but no value provided.
   > Could not resolve project :@react-native-community_slider.
     Required by:
         project :WordPress > project :libs:editor:WordPressEditor > project :@wordpress_react-native-bridge
      > Unable to find a matching configuration of project :@react-native-community_slider:
          - Configuration 'checkstyle':
              - Other attributes:
                  - Required buildType 'vanilla' but no value provided.
                  - Required com.android.build.api.attributes.BuildTypeAttr 'debug' but no value provided.
                  - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
                  - Required org.gradle.usage 'java-runtime' but no value provided.
                  - Required org.jetbrains.kotlin.platform.type 'androidJvm' but no value provided.
          - Configuration 'ktlint':
              - Other attributes:
                  - Required buildType 'vanilla' but no value provided.
                  - Required com.android.build.api.attributes.BuildTypeAttr 'debug' but no value provided.
                  - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
                  - Required org.gradle.usage 'java-runtime' but no value provided.
                  - Required org.jetbrains.kotlin.platform.type 'androidJvm' but no value provided.
   > Could not resolve project :react-native-get-random-values.
     Required by:
         project :WordPress > project :libs:editor:WordPressEditor > project :@wordpress_react-native-bridge
      > Unable to find a matching configuration of project :react-native-get-random-values:
          - Configuration 'checkstyle':
              - Other attributes:
                  - Required buildType 'vanilla' but no value provided.
                  - Required com.android.build.api.attributes.BuildTypeAttr 'debug' but no value provided.
                  - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
                  - Required org.gradle.usage 'java-runtime' but no value provided.
                  - Required org.jetbrains.kotlin.platform.type 'androidJvm' but no value provided.
          - Configuration 'ktlint':
              - Other attributes:
                  - Required buildType 'vanilla' but no value provided.
                  - Required com.android.build.api.attributes.BuildTypeAttr 'debug' but no value provided.
                  - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
                  - Required org.gradle.usage 'java-runtime' but no value provided.
                  - Required org.jetbrains.kotlin.platform.type 'androidJvm' but no value provided.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 2s

I think this ^ is pretty much expected.

@oguzkocer
Copy link
Contributor

oguzkocer commented Jun 24, 2020

Edit: On a subsequent run the build worked as expected as mentioned here.

On my MacOS machine where I do WPAndroid releases, I tried to run bundle exec fastlane build_alpha to build the alpha variant with our current release scripts setup and I got a build failure: https://gist.github.com/oguzkocer/67292be147331fdf2d50dfdab7a7e8c1. It also still modified a bunch of files in libs/gutenberg-mobile. Here is the result of git diff --name-only:

bundle/android/App.js
bundle/android/App.js.map
bundle/android/raw/gutenberg_node_modules_reactnativeurlpolyfill_package.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_ar.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_bg.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_bo.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_ca.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_cs.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_cy.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_da.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_de.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_el.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_enau.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_enca.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_engb.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_ennz.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_enza.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_es.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_esar.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_escl.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_escr.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_fa.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_fr.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_gl.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_he.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_hr.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_hu.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_id.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_is.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_it.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_ja.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_ka.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_ko.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_nb.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_nl.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_nlbe.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_pl.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_pt.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_ptbr.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_ro.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_ru.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_sk.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_sq.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_sr.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_sv.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_th.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_tr.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_uk.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_ur.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_vi.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_zhcn.json
bundle/android/raw/gutenberg_packages_reactnativeeditor_i18ncache_data_zhtw.json
package-lock.json

@oguzkocer
Copy link
Contributor

@mchowning was able to run the build_alpha lane without any issues, so I gave it another try and this time it worked as expected. We don't know why it didn't work initially, but hopefully it won't happen again 🤞

The modified files are still an issue though and it'd be really good to fix those as I keep having to discard the changes in each (release) build.

@mkevins
Copy link
Contributor

mkevins commented Jun 25, 2020

I've been testing the building from source with metro running from libs/gutenberg-mobile via npm run start:reset, and so far, things have been going smoothly. I also tested the apk via the following sanity tests. Mostly everything is working as expected, and the few things that aren't may be known issues, and are unlikely to be related with the monorepo work:

Gallery

Gallery-1

  • Gallery block - Close/Re-open post with an ongoing image upload - steps
  • Gallery block - Close post with an ongoing image upload - steps

Gallery-2

  • Gallery block - Insert image from device (failing) - steps
  • Gallery block - Insert image from device (cancel) - steps

Gallery-3

  • Gallery block - Add Gallery Caption - steps
  • ❓ Gallery block - Add Gallery Image Caption - steps

The enter button does not work in captions. I know this is already a known issue, but it used to be possible to insert newlines by "splitting" text, which is no longer possible. Is this intentional?

  • Gallery block - Try adding same images from WP Media library and moving the images around - steps

Gallery-4

  • ❌ Gallery block - Settings: Link to - steps

Attachment page seems to be broken on both web and mobile for self-hosted sites - the links do not work in the preview.

  • Gallery block - Settings: Column number - steps
  • Gallery block - Settings: Crop images - steps

Columns

Columns - 1

  • Columns - Columns block is added with default number of Column - steps
  • Columns - Adding Column with AppenderButton- steps
  • Columns - Adding and removing Column with BottomSheet Stepper control - steps
  • Columns - Max limit of Column number - steps
  • Columns - Min limit of Column number - steps
  • Columns - Removing Column with remove button - steps
  • Columns - Removing the only one left Column with remove button - steps
  • Columns - Changing alignment on Columns - steps
  • Columns - Changing alignment on individual Columnn - steps
  • Columns - Alignment attribute is properly passed when adding Column - steps
  • Columns - Deep nesting is possible (iOS only)- steps

Columns - 2

  • Columns - Check if Column placeholders is visible for the unselected state - steps
  • Columns - Appearance in vertical device position (vertical layout) - steps
  • Columns - Appearance in horizontal device position (horizontal layout) - steps
  • Columns - Mover direction - steps
  • Columns - Check if Column placeholder is render in nested structure - steps
  • Columns - Unselected Column placeholder is streched to content in nested structure- steps

Columns - 3

  • Columns - Check if in DarkMode all components gets proper colors - steps

MediaText

MediaText-1

  • Media Text block - Insert image from device (failing) - steps
  • Media Text block - Close/Re-open post with an ongoing image upload - steps

MediaText-2

  • Media Text block - Insert video from device (cancel) - steps
  • Media Text block - Insert image from device (cancel) - steps

MediaText-3

  • Media Text block - Insert video from device (failing) - steps
  • ❓ Media Text block - Close/Re-open post with an ongoing video upload - steps

Video thumbnail not working on Android (displayed as black box)

Also bug: preview has to be clicked twice to work.

MediaText-4

  • Media Text block - Media & Text alignment - steps
  • Media Text block - Vertical alignment - steps

Cover

Cover-1

  • Cover - Add image background from WordPress Media library - steps
  • Cover - Change Minimum height in pixels - steps
  • Cover - Change Background Opacity - steps
  • Cover - Image focal point is rendered properly - steps
  • Cover - Custom color is rendered properly - steps

Cover-2

  • Cover - Add Video Background from WordPress Media library - steps
  • Cover - Replace media - steps
  • ❌ Cover - Gradient background is rendered properly - steps
  • ❌ Cover - Gradient overlay is rendered properly - steps

Cover gradients did not work for a self-hosted site (is this a known issue?)

Misc

Shortcode-1

  • Shortcode block - Add a youtube link - steps

MultipleUpload-1

  • Simultaneous uploads - steps

Great work on this one, very glad to see this coming to fruition!

@hypest
Copy link
Contributor

hypest commented Jun 25, 2020

Thanks for trying out the PR @oguzkocer !

npm ERR! code 1
npm ERR! Command failed: git submodule update -q --init --recursive
npm ERR! C:/Program Files/Git/mingw64/libexec/git-core\git-submodule: line 21: .: git-sh-setup: file not found
npm ERR!

Interesting, looks like a subcommand is trying to update some submodules and fails because of git, probably not finding git in the path (of a subshell). The "-q" parameter in that command looks weird as it's not something we usually have in the manual git command we instruct people to perform, plus AFAIK we never do the submodule updates via a node/npm command.
I don't have a solid recommendation on this one but, is perhaps git not in the global PATH? I see C:\Program Files\Git\cmd being in the PATH on my side.

While at it let me ask, do you see the libs\gutenberg-mobile and libs\gutenberg-mobile\gutenberg subfolders being populated in your clone? If not, can you do a manual git submodule update --init --recursive and see if it succeeds? It succeeds on my Windows10 setup with git version git version 2.27.0.windows.1.

Could not resolve project :react-native-linear-gradient

When in BUILD_GUTENBERG_FROM_SOURCE=true mode, an npm install inside the libs\gutenberg-mobile folder is needed. That missing project from the error (and the similar ones in the same build log output) are only available after npm install succeeds. Have you perhaps ran that command before trying the build?

Edit: Just leaving a note here that trying to pull the submodules on this PR on my Windows10 setup resulted in a error: cannot spawn git: Filename too long error, although the process seemed to finish OK.
Edit2: Another error I've run into on Windows is npm ERR! Error: EPERM: operation not permitted, unlink 'C:\Users\Stefanos\proj\a8c\android\WordPress-Android\libs\gutenberg-mobile\gutenberg\node_modules\.staging\typescript-666a0d1c\lib\tsserverlibrary.js'. Haven't worked around it yet.

@mchowning
Copy link
Contributor Author

mchowning commented Jun 25, 2020

Thanks for the review @mkevins ! 🙇

The enter button does not work in captions. I know this is already a known issue, but it used to be possible to insert newlines by "splitting" text, which is no longer possible. Is this intentional?

This was intentional. Having it break out a new block below the "captioned" block is matching the behavior on web. Likewise, the fact that if the cursor is in the middle of a caption pressing Enter does nothing, is also a behavior we are inheriting from web. That seems like a bug to me. (comment)

I'm noticing that with the gallery block the enter key is working as described ^^ for the gallery's caption, but the enter key does nothing in the "caption" for each individual image. On the web, pressing the enter key in an image's caption within a gallery block creates a new line, so the fact that we're not doing this feels like a bug on our side. If you agree, should we open an issue for this @mkevins ?

None of ^this^ caption behavior is a regression from the previous release (the caption changes were merged in the last release), so I don't think any of these caption issues are release blockers.

Attachment page seems to be broken on both web and mobile for self-hosted sites - the links do not work in the preview.

I see this as well. Same issues are occurring with the previous mobile release, so this does not appear to be a regression. I'm not seeing any current issue tracking this. Would you mind adding one @mkevins ?

Video thumbnail not working on Android (displayed as black box)

Also bug: preview has to be clicked twice to work.

The black box issue is a longstanding problem, and should not be a blocker for the release.

I wasn't able to recreate the issue with having to click the preview twice to work.

@chipsnyder
Copy link
Contributor

chipsnyder commented Jun 25, 2020

Performing a round of sanity tests using this APK

DarkMode-1

  • Gallery block - Dark mode - steps
  • Shortcode block - Dark mode - steps
  • Media Text block - Dark mode - steps

I did come across this again while testing wordpress-mobile/gutenberg-mobile#2209

Group-1

  • Group - AppenderButton is rendered - steps
  • Group - Check if Group placeholder is visible for the unselected state - steps
  • Group - Check if Group placeholder is render in nested structure - steps
  • Group - Nested block have proper border styling - steps
  • Group - Nested block have proper margins values - steps
  • Group - Breadcrumbs on FloatingToolbar is properly displayed - steps

Spacer-1

  • Spacer block - Spacer is rendered without crash - steps
  • Spacer block - Settings: Control spacer height using the slider - steps
  • Spacer block - Settings: Control spacer height using the text input - steps

Buttons-1

  • Buttons block - Buttons block is added with focused Button with gray background color and white text color - steps
  • Buttons block - Buttons inline appender - steps
  • Buttons block - Add another Button inside Buttons using inserter - steps

Buttons-2

  • Buttons block - Removing Button along with Buttons block - steps
  • Buttons block - Removing exactly one Button (when Buttons contain more of them) - steps

Buttons-3

  • Buttons block - Wrapping Buttons - steps
  • Buttons block - Buttons alignment options - steps

Button-6

  • Buttons block - Settings: Open in new tab - steps
  • Buttons block - Settings: Link rel - steps
  • Buttons block - Settings: Link URL - steps
  • Buttons block - Settings: Remove link - steps
  • Buttons block - Settings: Synchronize with button options - steps

@chipsnyder
Copy link
Contributor

Cover gradients did not work for a self-hosted site (is this a known issue?)

Hey @mkevins, just to confirm did you have a custom theme installed on this site?

I was able to reproduce but only by:

  1. Activating a theme with custom gradients
  2. Go to the editor (I see gradients)
  3. Switch to a theme without custom gradients
  4. Go to the editor (I don't see gradients)

Assuming these steps are accurate, @pinarol and I didn't feel like this is a blocker although I do think its a regression we should address. I opened up this issue to track it.

You can also confirm by doing a fresh install and going to a self-hosted site that has a theme like Twenty-Twenty active.

@oguzkocer
Copy link
Contributor

Interesting, looks like a subcommand is trying to update some submodules and fails because of git, probably not finding git in the path (of a subshell). The "-q" parameter in that command looks weird as it's not something we usually have in the manual git command we instruct people to perform, plus AFAIK we never do the submodule updates via a node/npm command.
I don't have a solid recommendation on this one but, is perhaps git not in the global PATH? I see C:\Program Files\Git\cmd being in the PATH on my side.

I am running the commands from a git shell, so I was pretty sure the path wasn't the problem, but just to be on the safe side, I added the necessary paths to my environment variables and it still failed with the same error. I also updated my Git with no luck.

While at it let me ask, do you see the libs\gutenberg-mobile and libs\gutenberg-mobile\gutenberg subfolders being populated in your clone? If not, can you do a manual git submodule update --init --recursive and see if it succeeds? It succeeds on my Windows10 setup with git version git version 2.27.0.windows.1.

I am able to run the command manually without any issues. In my previous attempts to resolve issues with Gutenberg builds on Windows, I found that a lot of the time the build error wasn't the actual issue and I had to do some manual tinkering to get it to show itself, so when I saw that error I thought this would be the case. (your experience with the longer path name is one of those weird Windows issues I am afraid)

When in BUILD_GUTENBERG_FROM_SOURCE=true mode, an npm install inside the libs\gutenberg-mobile folder is needed. That missing project from the error (and the similar ones in the same build log output) are only available after npm install succeeds. Have you perhaps ran that command before trying the build?

I figured this would be the case and @mchowning brought up the same thing. I'll give this a try when I update my main repo. I am working on a project right now and I don't want to mess with my setup, so I am leaving my Windows machine for project work and doing everything in mac for now. I'll let you know if I have any issues with this.

Edit: Just leaving a note here that trying to pull the submodules on this PR on my Windows10 setup resulted in a error: cannot spawn git: Filename too long error, although the process seemed to finish OK.
Edit2: Another error I've run into on Windows is npm ERR! Error: EPERM: operation not permitted, unlink 'C:\Users\Stefanos\proj\a8c\android\WordPress-Android\libs\gutenberg-mobile\gutenberg\node_modules.staging\typescript-666a0d1c\lib\tsserverlibrary.js'. Haven't worked around it yet.

As much as I appreciate you giving Windows some love 🤗, unless there is an urgent reason we want this setup to work in Windows, I wouldn't spend too much time on it. (if it was working with yarn, I wouldn't say that, but since it's already broken 😿 ) My next project will be to move the whole thing to Bintray or Github packages so we don't have to deal with the Gutenberg builds on the WPAndroid side. (unless it's being built from source of course) Once that's in place, I am sure Windows will go back to being a happy-land, I'll make sure of it 😛

@chipsnyder
Copy link
Contributor

chipsnyder commented Jun 25, 2020

I tracked down the issue for #12258 (comment)

It ended up being an issue with WellSQL. Not sure what the cause of the change amounted to be but fetching zero results now returns an empty list instead of null. Made the adjustment here to catch that.

wordpress-mobile/WordPress-FluxC-Android#1620

cc @mkevins

@hypest
Copy link
Contributor

hypest commented Jun 26, 2020

As much as I appreciate you giving Windows some love 🤗, unless there is an urgent reason we want this setup to work in Windows, I wouldn't spend too much time on it.

@oguzkocer Ah, I was under the impression that you were actually using your Windows setup for the normal app releases tasks, and I wanted to make sure we are not breaking your flow there! Sorry I misunderstood 😬. Windows support is not a priority otherwise and we can leave it at that. Thanks again for trying this on your end!

@oguzkocer
Copy link
Contributor

@oguzkocer Ah, I was under the impression that you were actually using your Windows setup for the normal app releases tasks, and I wanted to make sure we are not breaking your flow there! Sorry I misunderstood 😬. Windows support is not a priority otherwise and we can leave it at that. Thanks again for trying this on your end!

Oh no, WPAndroid has been broken for me for the past month or so 😂 Thanks for checking in anyway!

@mkevins
Copy link
Contributor

mkevins commented Jun 26, 2020

Hi @mchowning 👋 , thanks for confirming some of the the issues I encountered. I agree these are not blockers for this release, and mostly I left them in this long comment to document. I can open the issue for the gallery link to issue to track that one.

@mkevins
Copy link
Contributor

mkevins commented Jun 26, 2020

Cover gradients did not work for a self-hosted site (is this a known issue?)

Hey @mkevins, just to confirm did you have a custom theme installed on this site?

I was able to reproduce but only by:

  1. Activating a theme with custom gradients
  2. Go to the editor (I see gradients)
  3. Switch to a theme without custom gradients
  4. Go to the editor (I don't see gradients)

Assuming these steps are accurate, @pinarol and I didn't feel like this is a blocker although I do think its a regression we should address. I opened up this issue to track it.

You can also confirm by doing a fresh install and going to a self-hosted site that has a theme like Twenty-Twenty active.

I first encountered this via a jurassic ninja site (not connected via Jetpack), using the default Twenty-Twenty theme (I didn't modify the theme). I just attempted to recreate the issue, and using a gradient as a cover background, I was not able to reproduce it. Then, I tried creating a different post, this time with gradients as an overlay, and the gradients did not render (the image still did). Curiously, when I reopened the post I had created earlier (with the gradient backgrounds), the gradients were gone. 🤔

@SergioEstevao SergioEstevao requested a review from hypest June 26, 2020 09:10
@SergioEstevao SergioEstevao self-requested a review June 26, 2020 09:55
Copy link
Contributor

@hypest hypest left a comment

Choose a reason for hiding this comment

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

Looks good to me!

I only left a question for Ceyhun and Tug but I don't consider it a blocking one.

@SergioEstevao SergioEstevao merged commit 93a012f into develop Jun 26, 2020
@SergioEstevao SergioEstevao deleted the gutenberg/integrate_release_1.31.0 branch June 26, 2020 13:13
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

Successfully merging this pull request may close these issues.

9 participants