All Projects → Automattic → Vip Go Mu Plugins

Automattic / Vip Go Mu Plugins

Licence: gpl-2.0
The development repo for mu-plugins used on the VIP Go platform.

Labels

Projects that are alternatives of or similar to Vip Go Mu Plugins

Wp Crontrol
WP Crontrol lets you view and control what's happening in the WP-Cron system.
Stars: ✭ 97 (-6.73%)
Mutual labels:  wordpress
Webpack Wordpress
Build Wordpress themes using Webpack and Hot Module Reloading
Stars: ✭ 100 (-3.85%)
Mutual labels:  wordpress
Stock Market Prediction Web App Using Machine Learning And Sentiment Analysis
Stock Market Prediction Web App based on Machine Learning and Sentiment Analysis of Tweets (API keys included in code). The front end of the Web App is based on Flask and Wordpress. The App forecasts stock prices of the next seven days for any given stock under NASDAQ or NSE as input by the user. Predictions are made using three algorithms: ARIMA, LSTM, Linear Regression. The Web App combines the predicted prices of the next seven days with the sentiment analysis of tweets to give recommendation whether the price is going to rise or fall
Stars: ✭ 101 (-2.88%)
Mutual labels:  wordpress
Wp model
A simple drop-in abstract class for creating active record style eloquent-esque models of WordPress Posts
Stars: ✭ 98 (-5.77%)
Mutual labels:  wordpress
Vuejs Wordpress Theme Starter
A WordPress theme with the guts ripped out and replaced with Vue.
Stars: ✭ 1,359 (+1206.73%)
Mutual labels:  wordpress
Webcomic
Comic publishing power for the web. Turn your WordPress-powered site into a comic publishing platform with Webcomic.
Stars: ✭ 100 (-3.85%)
Mutual labels:  wordpress
Login Designer
Official repository of the Login Designer WordPress Plugin
Stars: ✭ 97 (-6.73%)
Mutual labels:  wordpress
The Federation.info
Statistics hub for the Fediverse
Stars: ✭ 101 (-2.88%)
Mutual labels:  wordpress
Wp Help
#WordPressPlugin: Site operators can create detailed, hierarchical documentation for the site's authors, editors, and contributors, viewable in the WordPress admin
Stars: ✭ 99 (-4.81%)
Mutual labels:  wordpress
Wordpressify
🎈 A build system designed to automate your WordPress development workflow.
Stars: ✭ 1,374 (+1221.15%)
Mutual labels:  wordpress
Pilothouse
A command line app for managing a LEMP local development environment based on Docker.
Stars: ✭ 98 (-5.77%)
Mutual labels:  wordpress
33 Live2d Wp
🍟 The live2d poster girl plugin of 33 for WordPress.
Stars: ✭ 99 (-4.81%)
Mutual labels:  wordpress
Tersus
An achingly simple WordPress theme without all the usual cruft.
Stars: ✭ 100 (-3.85%)
Mutual labels:  wordpress
Dark Mode
Dark Mode for the WordPress dashboard.
Stars: ✭ 98 (-5.77%)
Mutual labels:  wordpress
Jackpine
WordPress starter theme with Timber, Tailwind, and Alpine.js.
Stars: ✭ 101 (-2.88%)
Mutual labels:  wordpress
Wordpresssharp
A C# client to to interact with the WordPress XML-RPC API
Stars: ✭ 97 (-6.73%)
Mutual labels:  wordpress
Fewbricks
Write code to create ACF field groups, fields and re-usable modules.
Stars: ✭ 100 (-3.85%)
Mutual labels:  wordpress
Wp Query Multiple Taxonomies
WordPress plugin for allowing advanced taxonomy queries.
Stars: ✭ 102 (-1.92%)
Mutual labels:  wordpress
Bedrock Docker
Development Setup for Bedrock Wordpress based on Docker
Stars: ✭ 102 (-1.92%)
Mutual labels:  wordpress
Wordless
All the power of Pug, Sass, Coffeescript and WebPack in your WordPress theme. Stop writing themes like it's 1998.
Stars: ✭ 1,374 (+1221.15%)
Mutual labels:  wordpress

VIP Go mu-plugins

This is the development repo for mu-plugins on VIP Go,

Development

Local Dev

We recommend using the Lando-based development environment for local development: https://github.com/Automattic/vip-go-mu-dev

Follow the instructions in the vip-go-mu-dev repo to get set up (it includes a clone of this repo).

Tests

PHP Lint
npm run phplint
PHPCS

We use eslines to incrementally scan changed code. It will automatically run on pre-commit (see .huskyrc.json).

This is also run on Circle CI for all PRs.

If you want too scan the entire codebase:

npm run phpcs
PHPUnit

If you're using the Lando-based environvment and it's already running, you can run unit tests by calling:

lando test

If you don't have the Lando-based environment running (e.g. in a CI context), we have a script that runs unit tests in a self-contained Docker environment. To run these tests, execute the following from the project root:

./bin/phpunit-docker.sh [wp-version]

You can either pass a version number to test against a specific version, or leave it blank to test against the latest version.

You can also pass the path to a specific test as well as extra PHPUnit arguments:

./bin/phpunit-docker.sh tests/path/to/the/test-something.php --stop-on-failure [...args]
CI

PHP Linting and PHPUnit tests are run by Circle CI as part of PRs and merges. See .circleci/config.yml for more.

Core tests

We run core tests as part of the CI pipeline. We run core tests both with and without mu-plugins installed. There are many failures when running with mu-plugins so we had to ignore several tests. To add another test there chack bin/utils.sh.

To investigate failing test locally you can do following (buckle up as this is not so easy:()):

  1. While in your mu-plugins folder do MU_PLUGINS_DIR=$(pwd)

  2. Switch to where you want to checkout core code e.g. cd ~/svn/wp

  3. Checkout the core code (pick the latest version): svn co --quiet --ignore-externals https://develop.svn.wordpress.org/tags/5.5.3 .

  4. Create test config: cp wp-tests-config-sample.php wp-tests-config.php && sed -i 's/youremptytestdbnamehere/wordpress_test/; s/yourusernamehere/root/; s/yourpasswordhere//; s/localhost/127.0.0.1/' wp-tests-config.php

  5. Build core npm ci && npm run build

  6. Export env variable export WP_TESTS_DIR="$(pwd)/tests/phpunit"

  7. Start local DB: docker run -d -p 3306:3306 circleci/mariadb:10.2

  8. Create empty DB mysqladmin create wordpress_test --user="root" --password="" --host="127.0.0.1" --protocol=tcp

  9. Copy over MU-plugins cp -r $MU_PLUGINS_DIR build/wp-content/mu-plugins

  10. Run the test you want (in this case test_allowed_anon_comments) $MU_PLUGINS_DIR/vendor/bin/phpunit --filter test_allowed_anon_comments

PHPDoc

You can find selective PHPDoc documentation here: https://automattic.github.io/vip-go-mu-plugins/

These are generated via CI by the generate-docs.sh script.

Deployment

Production

For Automattic Use: Instructions are in the FG :)

vip-go-mu-plugins-built

This is a repo primarily meant for local non-development use.

Every commit merged into master is automatically pushed to the public copy at Automattic/vip-go-mu-plugins-built. This is handled via CI by the deploy.sh script script, which builds pushes a copy of this repo and expanded submodules.

How this works

  1. The private part of a deploy key for Automattic/vip-mu-plugins-built is encrypted against this repository (Automattic/vip-mu-plugins-built), meaning it can only be decrypted by Travis running scripts related to this repo
  2. This repository and it's submodules are checked out, again, to start the build
  3. All VCS config and metadata is removed from the build
  4. Various files are removed, including the .travis.yml containing the encrypted private part of the deploy key
  5. The Automattic/vip-mu-plugins-built repo is checked out
  6. The .git directory from the Automattic/vip-go-mu-plugins-built repository is moved into the build directory, and a commit is created representing the changes from this build
  7. The commit is pushed to the Automattic/vip-go-mu-plugins-built repository
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].