Tide Chat Summary: June 26th

This post summarizes the Tide chat meeting from June 26th in the #tide Slack channel (agenda, Slack archive).

Reminder that the current Tide focus is integrating PHP Compatibility data from Tide into WordPress.org. Once PHP Compatibility is integrated into WordPress.org, we’ll assess the next focus to provide the biggest impact to the community.

WCEU recap

  • Contributor Day had WiFi issues for the first half of the afternoon so setting up Tide locally was a bit harder for folks than it should have been
  • Contributors mostly discussed what Tide is and the GCP setup and capacity over AWS
  • There we a couple PR’s that came out of Contributor Day
  • @grapplerulrich did a great job leading the team while @valendesigns had focus split getting the final GCP issues ironed out

GCP migration & .ORG integration

  • The migration to GCP is for the most part complete. Now that we’re in v1.0.0-beta we only have a couple of issues to fix.
  • There are docs that need to be tested and updated, a duplicate audits issue where Firestore is not locking the message quick enough and other kubernetes pods are running the same audits more than once (not on every item but enough to be an issue), and the endpoint for .ORG that allows a push instead of pull architecture (this code is written but @valendesigns need to test and merge).
  • Seeing a lot more capacity over AWS, maybe 8-10 times more. We were doing at peak around 1.3-1.8k an hour on AWS and on GCP we were doing 12-13.4k an hour.
  • When all of the issues mentioned above are sorted we will release v1.0.0 and plan to do a few RC’s until they are addressed
  • @jeffpaul to open issue for item that @grappIerulrich found that is not working, if anyone else runs into issues, please open issues in GitHub

Theme and plugin rulesets

  • This was discussed some at WCEU, but the idea is to create a ruleset for auditing WordPress themes and another for WordPress plugins. The complete WPCS ruleset isn’t quite the best approach for plugins and themes individually, so we’re considering creating a ruleset specific to each.
  • @grapplerulrich looking to run the subsets instead of the whole `WordPress` ruleset? These would be `WordPress-Core`, `WordPress-Docs` and `WordPress-Extra`. This would give us more fine tuned results and exclude `WordPress-VIP`. If we make the change now then we will have a few plugin version to be able to understand the trend.
  • We had a conversation with roughly 10 or so contributors on Saturday and the work @jrf has done could be used as the base for targeting plugins/themes. It’s going to need a lot of discussion but some of the heavy technical lifting has already been done.
  • We’ll likely look to open upstream issues with WPCS to further the discussion on this topic, we’ll share those issue links here once they’re created.

General announcements

  • In order to accommodate a wider audience, we’ll be moving the Tidechat one hour earlier starting next week, so we’ll now meet weekly at 20:00 UTC.

Next meeting

The next meeting will take place on July 3, 2018 at 20:00 UTC in the #tide Slack channel. Please feel free to drop in with any updates or questions. If you have items to discuss but cannot make the meeting, please leave a comment on this post so that we can take them into account.

#1-0-0, #gcp, #summary, #tide-chat, #wceu

Announcing Tide 1.0.0-beta

At WordCamp US last December we introduced Tide.  Tide was our reaction to what we, and many other in the WordPress community, believe is critical to the future of the Open Web.  A future where the standard of code in WordPress is high and its users can be confident in its performance, security, reliability, and accessibility.  Tide is a very practical solution to achieving this, ultimately improving the quality of code across the web.  The WordCamp US announcement represented the proof of concept stage for Tide and helped highlight ways in which updating WordPress plugins and themes based on WordPress Coding Standards could make the open web more performant, secure, reliable, and accessible.  Since then, we’ve been spending time reviewing feedback from WCUS, meeting weekly with the community, and enhancing Tide based on what we’ve learned.

Tide’s vision is inspired by the proverb “A rising tide lifts all boats”, when we lower the barrier of entry to writing and choosing quality code for enough people, it will lift the quality of code across the whole WordPress ecosystem.  Tide helps to make it easier to improve the quality of code throughout the WordPress ecosystem and help WordPress site owners make better choices about plugins and themes.

As of today, we’re excited to announce Tide 1.0.0-beta, now available on GitHub and at wptide.org.  This version adds Google Cloud Platform (“GCP”) and local-only infrastructure support, integrates Lighthouse performance analysis, and provides documentation for the entire platform to help onboard contributors and developers looking to improve their own code.  Please update any forked repositories or local instances of the previous version of Tide as it will be deprecated later this month.

GCP migration

The prototype version of Tide from WordCamp US was based on Amazon Web Services (“AWS”), but with the release of Tide 1.0.0-beta we’ve migrated to GCP and have rewritten the Tide services in the Go programming language.  This helps to provide a better integration point with WordPress.org as the GCP environment and Go services are more performant and cost effective.  This is the first step towards WordPress.org integration.

You can find the code for Tide on GitHub at https://github.com/wptide/wptide.

Local-only option

In order to minimize the needs for developers or contributors to setup GCP or AWS infrastructure to use Tide, we’re providing a local-only option.  This way you can run all the Tide services locally on your computer and not need to rely upon or pay for anything additional.  Note that for now we’ve only fully tested on MacOS, so non-MacOS setup and usage will vary a bit until we can test across non-MacOS platforms and provide resolutions to any issues there.  In order to run Tide locally, you’ll need Composer, Docker, Go, and Glide; additionally for Windows you’ll need Make installed based on our testing so far.  Full setup instructions are available in the Tide documentation (see below).

Lighthouse integration

Along with the WordPress Coding Standards and PHP Compatibility results for plugins and themes in the Tide API, we’ve also added support for Google’s Lighthouse auditing to include performance, accessibility, and other results for themes in the Tide API.

Documentation

The prototype version of Tide from WordCamp US was built as a proof-of-concept and had limited documentation; what did exist then was mainly within the README file for setup instructions on AWS.  For 1.0.0-beta, we’ve significantly extended the documentation to include installation instructions for GCP and the local-only option, details on the various Tide services (API, Sync Server, PHPCS Server, Lighthouse Server), working examples of the Tide API, as well as how to contribute to better utilize and improve Tide.

The documentation site is available at https://www.wptide.org (including a searchable demo of the Tide API search).  The source for the documentation is available at https://github.com/wptide/docs.

Roadmap

The next step on the Tide roadmap is working with the WordPress.org systems team to integrate the PHP Compatibility results from the Tide API into the WordPress.org repository database so that it can be displayed on plugin and theme pages.  You can follow along via the roadmap we’re establishing at https://github.com/wptide/wptide/wiki/Roadmap.  Note that we’re using ZenHub to manage Tide’s product development process and that you may need to install the ZenHub Browser Extension to see all the details within the Tide roadmap.

This plan represents what will take Tide from concept to practical application for the WordPress community.  If you have feedback for the WordPress.org integration, then please comment in GitHub or ZenHub.  If you have ideas or feedback on future Tide roadmap ideas, then please add those as GitHub Issues at https://github.com/wptide/tide-issues/.

Contributions

Thank you to everyone who contributed to Tide 1.0.0-beta:

Alberto Medina, Bart Makoś, Brendan Woods, Daniel Louw, David Cramer, David Lonjon, Derek Herman, Jeffrey Paul, Justin Kopepasah, Jonathan Wold, Joshua Wold, Leo Postovoit, Lubos Kmetko, Luke Carbis, Maxim Siebert, Miina Sikk, Mike Crantea, Rheinard Korf, Rob Stinson, Sayed Taqui, Tammie Lister, Utkarsh Patel.

Please join us for our weekly meeting on Tuesday’s at 21:00 UTC in the #tide channel in WordPress Slack.  See you then!

#1-0-0, #gcp, #lighthouse, #roadmap, #tide

Tide Chat Summary: June 5th

This post summarizes the Tide chat meeting from June 5th in the #tide Slack channel (agenda, Slack archive).

Reminder that the current Tide focus is integrating PHP Compatibility data from Tide into WordPress.org. Once PHP Compatibility is integrated into WordPress.org, we’ll assess the next focus to provide the biggest impact to the community.

GCP migration

  • Completed the initial standup of Tide on GCP in a Dev account and tested all services are working, though we have found some minor bugs that we’re currently addressing
  • Working to fix the minor bugs and setup Tide on the new Prod account the next couple of days and start the re-audit of all themes and plugins by the end of the week
  • Next week we’ll be setting up DNS to transfer from the AWS to the GCP version of Tide, we’ll then be at Tide 1.0.0-beta and ready to find all the bugs and test the new API
  • Current issue is the local MongoDB is not connecting to the Go services correctly and we’re working on a fix
  • The new repo is an all-in-one Tide repo for development and deployment, can be installed locally, and will be released as soon as the Mongo issue is fixed
  • Tide will be available by WCEU, and can be demonstrated at contributor day on Thursday, June 14th
  • After WCEU we’ll work to create a few candidate releases until we feel Tide is stable and ready to be tagged 1.0.0

.ORG integration

  • @jeffpaul and @valendesigns to chat with @otto42 on the webhook integration of Tide’s PHP Compatibility results into .ORG
  • Identifying any changes needed to the input to, processing of, or output from Tide as it relates to .ORG so we know what gaps need to be closed in order to support a .ORG integration. Updates to follow as we’re able to meet with @otto42, but that will likely be after WCEU.
  • In the meantime, review and feedback on the proposed UX for the integration would continue to be welcomed
  • Integration will provide a list of compatible versions, could be used to allow of disallow plugin activation per note from @joyously

General announcements

  • With folks traveling next week to WCEU, we’ll cancel the weekly tidechat and catch up the following week

Next meeting

The next meeting will take place on June 19, 2018 at 21:00 UTC / June 19, 2018 at 21:00 UTC in the #tide Slack channel. Please feel free to drop in with any updates or questions. If you have items to discuss but cannot make the meeting, please leave a comment on this post so that we can take them into account.

#gcp, #php-compatibility, #summary, #tide-chat

Tide Chat Summary: May 29th

This post summarizes the Tide chat meeting from May 29th in the #tide Slack channel (agenda, Slack archive).

Reminder that the current Tide focus is integrating PHP Compatibility data from Tide into WordPress.org. Once PHP Compatibility is integrated into WordPress.org, we’ll assess the next focus to provide the biggest impact to the community.

Roadmap wishlist

  • Met previously with folks from Theme Review, coordinating to meet with Plugin Review folks after WCEU on how Tide might best help them
  • If you have roadmap wishlist ideas, then please leave them as a comment on this post, ping @jeffpaul directly, comment in the #tide channel, or add your input as an issue in the `tide-issues` repo and we’ll capture them as we work towards publishing a potential roadmap for Tide

GCP migration

  • Working to migrate to GCP and finishing the Queue and Storage providers for GCP this week; Cloud Storage is finished and Cloud Firestore is WIP; implementing local only providers also
  • Testing the services on GCP this week, depending on how the code review and testing of the Firestore implementation goes
  • By the end of the week we should have a local MongoDB queue provider and be feature complete and ready to clean up the repo, test all services E2E on GCP, and release the new version to the wptide org in GitHub
  • Local setup with be Docker containers, one for each service (API, PHPCS Server, Lighthouse Server, and Sync Server)
  • Assumption that being able to run Tide 100% locally should help make setting it up more appealing to contributors
  • Also adding coverage to the wp-tide-api plugin to ensure it’s solid and ready for the next release
  • Goal by next tidechat is to be ready to have people test the new local setup of Tide and smooth out any issues in regards to needing a cloud provider (AWS or GCP)

WCEU + Contributor Day

  • @valendesigns @jrf @grapplerulrich @nikolam will all be at WCEU and Contributor Day
  • Anyone else who attends should consider stopping by Contributor Day as the Tide and WPCS tables should be next to each other and worth discussing and collaborating then

General announcements

Next meeting

The next meeting will take place on June 5, 2018 at 21:00 UTC / June 5, 2018 at 21:00 UTC in the #tide Slack channel. Please feel free to drop in with any updates or questions. If you have items to discuss but cannot make the meeting, please leave a comment on this post so that we can take them into account.

#contributor-day, #gcp, #roadmap, #summary, #tide-chat, #wceu

Tide Chat Summary: May 15th

This post summarizes the Tide chat meeting from May 15th in the #tide Slack channel (agenda, Slack archive).

Reminder that the current Tide focus is integrating PHP Compatibility data from Tide into WordPress.org. Once PHP Compatibility is integrated into WordPress.org, we’ll assess the next focus to provide the biggest impact to the community.

Roadmap wishlist

  • Currently collecting ideas, will asses feasibility, and share roadmap as its ready
  • Discussion on things PHPCS is unable to check for that would benefit the #ThemeReview Team (@grapplerulrich, @joyously, @valendesigns):
    • if you are a child or parent theme
    • If a theme has a specific tag in the `style.css` if a certain `add_theme_support()` is defined in the `functions.php`
    • A specific example would be the `custom-header` tag with `add_theme_support( ‘custom-header’ );`
    • The problem is that PHPCS only checks things per file and can’t remember what it has already checked for.
    • things that coordinate between files
    • It would require checking for `add_theme_support` and building an array then verifying that it’s tagged in the header.
    • Benefit is that it would help verify that a theme is actually adding the support for a feature if it using the tag or that if a theme has the feature then it should be tagged correctly so to make it better to search for.
    • Additional details are listed in WPCS issue#578 under Rules which would need another solution
    • We would have to add a new server with a new audit type and wouldn’t be in the phpcs payload
  • If you have roadmap wishlist ideas, then please leave them as a comment on this post, ping @jeffpaul directly, comment in the #tide channel, or add your input as an issue in the `tide-issues` repo and we’ll capture them as we work towards publishing a potential roadmap for Tide

GCP migration

  • We are currently switching to the Google SDKs and then will test everything on GCP. There will be a new repo coming very soon.
  • We will be looking for help testing very soon to setup the new repo, but the goal is to keep the option to use AWS or GCP and, if we can, a local-only option
  • Google Storage and S3 are easy to replace locally. However, SQS is not as easy to replace locally and we’re planning to use Firestore on GCP so two very different solutions that when trying to create a local queue is a bit more work and may not be ready by next week.
  • The migration to GCP and rebuild of the server in Go will ideally be ready for WCEU

Next meeting

The next meeting will take place on May 22, 2018 at 21:00 UTC / May 22, 2018 at 21:00 UTC in the #tide Slack channel. Please feel free to drop in with any updates or questions. If you have items to discuss but cannot make the meeting, please leave a comment on this post so that we can take them into account.

#gcp, #roadmap, #summary, #tide-chat