diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..85f4885 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,5 @@ +# See https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners + +# These owners will be the default owners for everything in +# the repo. Unless a later match takes precedence +* @simonrjones \ No newline at end of file diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml new file mode 100644 index 0000000..78b1391 --- /dev/null +++ b/.github/workflows/release-please.yml @@ -0,0 +1,32 @@ +name: release-please +on: + push: + branches: + - main +jobs: + release-please: + runs-on: ubuntu-latest + steps: + - name: Create release + id: release + uses: google-github-actions/release-please-action@v3 + with: + release-type: simple + extra-files: | + wp-config.load.php + + # Run only once a new release is created: + - uses: actions/checkout@master + if: ${{ steps.release.outputs.release_created }} + - name: Create release files + run: | + zip -r wordpress-multi-env-config.zip wp-config.* + if: ${{ steps.release.outputs.release_created }} + - name: Upload release files + uses: svenstaro/upload-release-action@v2 + with: + file: ./wordpress-multi-env-config.zip + asset_name: wordpress-multi-env-config.zip + tag: ${{ steps.release.outputs.tag_name }} + overwrite: true + if: ${{ steps.release.outputs.release_created }} \ No newline at end of file diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..0fb68f6 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,108 @@ +# Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for +everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity +and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, +or sexual identity and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience +* Focusing on what is best not just for us as individuals, but for the overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take +appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, +issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for +moderation decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when an individual is officially +representing the community in public spaces. Examples of representing our community include using an official e-mail +address, posting via an official social media account, or acting as an appointed representative at an online or offline +event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders +responsible for enforcement at [strata@studio24.net](mailto:strata@studio24.net). +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they +deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the +community. + +**Consequence**: A private, written warning from community leaders, providing clarity around the nature of the +violation and an explanation of why the behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series of actions. + +**Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including +unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes +avoiding interactions in community spaces as well as external channels like social media. Violating these terms may +lead to a temporary or permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public communication with the community for a +specified period of time. No public or private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent +ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate +behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.0, +available at https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations. + + diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..dbfbb5e --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,32 @@ +# Contributing + +We welcome contributions to WordPress Multi-Environment Config. + +All contributors must agree to our [Code of Conduct](CODE_OF_CONDUCT.md). + +WordPress Multi-Environment Config is released under the MIT license and is copyright Studio 24 Ltd. All contributors must accept these license and copyright conditions. + +## Issues + +Please submit any issues to the [issues log](https://github.com/studio24/wordpress-multi-env-config/issues). You are +welcome to fork the project and create suggested fixes. + +## Pull Requests + +All contributions must be made on a branch and must be merged into the main branch via Pull Requests. + +All Pull Requests need at least one approval from the Studio 24 development team. + +## Creating new releases + +This repo uses [Release Please](https://github.com/marketplace/actions/release-please-action) to automatically create releases, based on [semantic versioning](https://semver.org/). + +To create a new release use [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) in your commit message. This will automatically create a Release PR, which is kept up to date with further commits and you can merge it to create the new release when you are ready. + +Use the following keywords in your commits: + +* `fix:` this indicates a bug fix and creates a new patch version (e.g. 1.0.1). +* `feat:` this indicates a new feature and creates a new minor version (e.g. 1.1.0). +* To create a new major version (e.g. 2.0.0) either append an exclamation mark to `fix!:` or `feat!:` or add a footer of `BREAKING CHANGE:` with details of what breaking changes there are. + +If the action fails to run you can view the action and select `Re-run all jobs` to re-run it. diff --git a/README.md b/README.md index 9476aa5..058119d 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,14 @@ who gave me the inspiration for the organisation of the config files. Please note the current version is v2, if you need to use the older v1 version [please see the v1 release](https://github.com/studio24/wordpress-multi-env-config/releases/tag/v1.0.2). +## Contributing + +Strata is an Open Source project. Find out more about how to [contribute](CONTRIBUTING.md). + +## Security Issues + +If you discover a security vulnerability within WordPress Multi-Environment Config, please follow our [disclosure procedure](SECURITY.md). + ## How it works The system detects what environment the current website is in and loads the relevant config file for that environment. @@ -141,10 +149,12 @@ Example usage when using a wildcard for WordPress multi-site. ``` ## Installing + Please note this requires PHP5.4 or above. You should really be on PHP5.6 at a minimum! -1. First make a backup of your existing `wp-config.php` file. -2. Copy the following files from this repository to your WordPress installation: +1. Download the required files via [wordpress-multi-env-config.zip](https://github.com/studio24/wordpress-multi-env-config/releases/latest/download/wordpress-multi-env-config.zip) +2. First make a backup of your existing `wp-config.php` file. +3. Copy the following files from this repository to your WordPress installation: ``` wp-config.default.php diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..0cf8282 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,29 @@ +# Security Issues + +If you think that you have found a security issue in Strata, please don't use the issue tracker and don't publish it +publicly. Send urgent or sensitive reports directly to [security@studio24.net](mailto:security@studio24.net) + +## Resolving Process + +If you submit a report, here’s what will happen: + +* We’ll acknowledge your report. +* We'll confirm the vulnerability and ask any follow up questions. +* The team will work on a fix. +* Once the issue is resolved, we’ll post a security update along with thanks and credit for the discovery. + +Once a patch has been created we will: + +* Publish a release for all maintained versions of Strata. +* Update the public [security advisories database](https://github.com/FriendsOfPHP/security-advisories). + +### Note + +* While we are working on a patch, please do not reveal the issue publicly. +* The resolution takes anywhere between a couple of days to a month depending on its complexity. + +## Attribution + +This Security Issues policy is inspired by +[Basecamp security response](https://github.com/basecamp/policies/blob/master/security/vulnerability-response.md) and +[Symfony security issues](https://symfony.com/doc/master/contributing/code/security.html). diff --git a/version.txt b/version.txt new file mode 100644 index 0000000..359a5b9 --- /dev/null +++ b/version.txt @@ -0,0 +1 @@ +2.0.0 \ No newline at end of file diff --git a/wp-config.default.php b/wp-config.default.php index 6f041b3..d3e87a6 100644 --- a/wp-config.default.php +++ b/wp-config.default.php @@ -7,10 +7,8 @@ * * Please note if you add constants in this file (i.e. define statements) * these cannot be overridden in environment config files so make sure these are only set once. - * + * * @package Studio 24 WordPress Multi-Environment Config - * @version 2.0.0 - * @author Studio 24 Ltd */ diff --git a/wp-config.development.php b/wp-config.development.php index 7a0c632..82286fc 100644 --- a/wp-config.development.php +++ b/wp-config.development.php @@ -4,10 +4,8 @@ * * Enter any WordPress config settings that are specific to this environment * in this file. - * + * * @package Studio 24 WordPress Multi-Environment Config - * @version 2.0.0 - * @author Studio 24 Ltd */ diff --git a/wp-config.env.php b/wp-config.env.php index 818afe4..4fa0c48 100644 --- a/wp-config.env.php +++ b/wp-config.env.php @@ -3,8 +3,6 @@ * Setup environments * * @package Studio 24 WordPress Multi-Environment Config - * @version 2.0.0 - * @author Studio 24 Ltd */ diff --git a/wp-config.load.php b/wp-config.load.php index 633ac0a..62479cf 100644 --- a/wp-config.load.php +++ b/wp-config.load.php @@ -3,7 +3,7 @@ * WordPress Multi-Environment Config - Load config settings * * @package Studio 24 WordPress Multi-Environment Config - * @version 2.0.0 + * @version 2.0.0 (x-release-please-version) * @author Studio 24 */ diff --git a/wp-config.local.php b/wp-config.local.php index 81efc58..a5e130f 100644 --- a/wp-config.local.php +++ b/wp-config.local.php @@ -10,8 +10,6 @@ * in this file. * * @package Studio 24 WordPress Multi-Environment Config - * @version 2.0.0 - * @author Studio 24 Ltd */ diff --git a/wp-config.production.php b/wp-config.production.php index e705d78..d50c04a 100644 --- a/wp-config.production.php +++ b/wp-config.production.php @@ -6,8 +6,6 @@ * in this file. * * @package Studio 24 WordPress Multi-Environment Config - * @version 2.0.0 - * @author Studio 24 Ltd */ diff --git a/wp-config.staging.php b/wp-config.staging.php index c3598c6..cacbcd1 100644 --- a/wp-config.staging.php +++ b/wp-config.staging.php @@ -4,10 +4,8 @@ * * Enter any WordPress config settings that are specific to this environment * in this file. - * + * * @package Studio 24 WordPress Multi-Environment Config - * @version 2.0.0 - * @author Studio 24 Ltd */