GithubHelp home page GithubHelp logo

jenkoian / vip-go-mu-plugins Goto Github PK

View Code? Open in Web Editor NEW

This project forked from automattic/vip-go-mu-plugins

0.0 3.0 0.0 48.03 MB

The development repo for mu-plugins used on the VIP Go platform.

Home Page: https://vip.wordpress.com/documentation/vip-go/

License: GNU General Public License v2.0

PHP 83.78% Makefile 0.09% CSS 2.83% JavaScript 1.28% Shell 1.61% HTML 10.42%

vip-go-mu-plugins's Introduction

VIP Go mu-plugins

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

Development

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.

Tests

PHP Lint

make lint

PHPUnit

Docker

We have a script that runs unit tests in a self-contained Docker environment.

usage: ./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.

VVV
  1. Set up VVV and your vagrant environment

  2. Navigate to your wp-content folder and clone this repo into mu-plugins:

$ git clone https://github.com/Automattic/vip-go-mu-plugins.git mu-plugins
  1. SSH into your box and navigate to the mu-plugins folder:
$ vagrant ssh
vagrant@vvv:~$cd /path/to/wp-content/mu-plugins
  1. Setup the WordPress tests:
vagrant@vvv:
vagrant@vvv:/wp-content/mu-plugins$ ./bin/install-wp-tests.sh %empty_DB_name% %db_user% %db_name%

Note: you need to replace the %placeholder% strings above with the appropriate values. Use a separate test database for this as the contents will get trashed during testing.

  1. Install dependencies

Note: need to have composer pre-installed.

composer install
  1. Run tests:
vagrant@vvv:/wp-content/mu-plugins$ vendor/bin/phpunit

Travis

PHP Linting and PHPUnit tests are also run by Travis as part of PRs and merges. See the script section of .travis.yml.

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. It e

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

vip-go-mu-plugins's People

Contributors

mjangda avatar simonwheatley avatar joshbetz avatar ethitter avatar nickdaugherty avatar hanifn avatar dchymko avatar scottsweb avatar david-binda avatar sboisvert avatar emrikol avatar wpprodigy avatar shantanu2704 avatar rebeccahum avatar brettshumaker avatar scarstocea avatar chrean avatar philipjohn avatar kluny avatar rinatkhaziev avatar pkevan avatar paulschreiber avatar rogertheriault avatar brookedot avatar vaurdan avatar mikeyarce avatar mdbitz avatar emgk avatar davidsword avatar gravityrail avatar

Watchers

Ian Jenkins avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.