Lots of improvements to the P4 Infrastructure and to the CircleCI configuration, which makes CPU usage (and costs!) lower and deployments much faster and effective (check the gitbook documentation). Adjustments have also been done for enhanced accessibility (in-line link colours), excerpts, lazy-loading on images and ability to determine the behaviour for Tag pages. Google Login is now mandatory for @greenpeace.org emails.
🌟 = Community contributed!
🔧 Features
- 🌟 PLANET-5185 – Add permalink to the blocks usage overview
- Added the permalink to the overview allows for quick linking from the overview to the public link.
- PLANET-5128 – Expand images lazy-loading on Image block
- Expanded lazy-loading on the Image block for all post types
- Images below the fold shouldn’t be fetched on first page load
- PLANET-4782 – Check if there are still campaigns that have the old _campaign_page_template attribute
- Changed the attribute containing the theme of a campaign page from “_campaign_page_template” to “theme” because the underscore prevented the field from being used in the Gutenberg editor.
- 🌟 PLANET-5215 – Allow customization of tag page redirect handling
- Currently, when a tag page is loaded, the master theme checks if a “redirect page” is defined. If there is one, it fetches its content for display instead of auto generating a tag page.
- Editors now have the ability to change this behaviour in child themes/plugins to actually redirect to the URL of the redirect page instead of generating the output right away.
- PLANET-5141 – Simplify NRO & Base CI configuration
- Adjusted CI configuration to reflect the scope of the three different environments.
- Develop environment should be de-coupled from a release deployment
- During a new release deployment only staging and production should be affected
- Staging should always run the same code as Production
- Adjusted CI configuration to reflect the scope of the three different environments.
- PLANET-5079 – Adjust in-line link color for better accessibility
- The blue link color fails accessibility on dark backgrounds. We reviewed and created an alternative link color that either works on all backgrounds.
- Changed link color to #006DFD
- On rollover add underline and 10% darker (by reducing the Luminance value in the HSL version of the color)
- This change was not applied in campaigns
- The blue link color fails accessibility on dark backgrounds. We reviewed and created an alternative link color that either works on all backgrounds.
- PLANET-4998 – Measure PHP test coverage
- PLANET-4891 – Enforce Google Login for users with greenpeace.org email
- Since we have an increased number of bots hitting our login page, this is one of the measures we can take to ensure that GP staff is going through the normal process of logging-in with their Google account and using 2FA.
- If a user with a greenpeace.org email tries to login through the regular username/password form, prohibit that and display an error message suggesting they should the Google login. The text could be “You are trying to login with a Greenpeace email. Please use Google login button instead.
🐛 Bug Fixes
- 🌟 PLANET-5057 – Search: Excerpt cuts off at 25 words
- Excerpt now automatically saves the first 30 words for all blocks.
- PLANET-5192 – Acceptance tests not running for blocks and EN plugin
- The acceptance tests were not running against the code that is pushed for planet4-plugin-gutenberg-blocks and planet4-plugin-engagingnetworks. Instead it will use the latest tag (i.e. the one that is present in https://github.com/greenpeace/planet4-base-fork/blob/develop/composer.json). For planet4-master-theme it is working as intended against the pushed code.
- With this ticket we ensured tests run against the pushed code for all repositories.
- PLANET-4323 – EN form block: fix checkbox styling of form on a side style
- EN form block of style “Form on a side” was not showing the text next to the checkbox for the MENA site
👷 Infrastructure
- PLANET-4957 – Don’t upgrade automatically to latest WP version
- Right now our CI pipelines always pick up the latest WP version. That has caused some breaking changes in websites. Better to hardcode certain minor version and explititly upgrade, so we have the chance to get through the Changelog first.
- PLANET-5125 – Integrate planet4-circleci-config into planet4-nro-generator
- We currently have a repository for intially creating the CircleCI configuration of P4 instances, and a separate repository for sending updates to the same file. Both repositories have their own template for this config file, which have diverged: in planet4-nro-generator there are conditionals around optional configuration, which is not present in planet4-circleci-config. planet4-circleci-config on the other hand has newer changes.
- Rather than continuing keeping these repos in sync, we can integrate the functionality of planet4-circleci-config into planet4-nro-generator so that they can use the same template.
- PLANET-5112 – Perform backstop-history and build-branch in parallel in all envs
- Currently the `build-branch` step of P4 instance workflows requires the `backstop-history` job, so it only starts when that job has finished. However it doesn’t actually require it and can already be started. The `deploy-develop` step does require `backstop-history` be finished, so it should be added there instead.
- This will deployments complete about 1 minute faster (= time to spin up and execute backstop job).
- We can set this up for all pipelines (test instances, dev + staging of NROs).
- PLANET-4977 – Upgrade k8 nodes
- PLANET-4976 – Redis deployment using 100% CPU in k8 1.13 & 1.14
- The upgrade of the k8 nodes to 1.13 and 1.14 caused the redis pods to max out the CPU due to a buggy exec health check.
- PLANET-4577 – Limit redis pod memory resources
- Modify helm chart to apply resource constraints to redis pods as per LRU best practice