embedpress
Last commit date
EmbedPress
2 years ago
Gutenberg
2 years ago
assets
2 years ago
languages
2 years ago
vendor
2 years ago
CONTRIBUTING.md
7 years ago
autoloader.php
2 years ago
embedpress.php
2 years ago
includes.php
2 years ago
index.html
9 years ago
providers.php
2 years ago
readme.txt
2 years ago
wpml-config.xml
4 years ago
CONTRIBUTING.md
85 lines
| 1 | # Contributing |
| 2 | |
| 3 | *Avoid sending detailed commits to the SVN Repo!* - Use the GIT repository to keep the detailed history and send to SVN only the "release" commit. |
| 4 | |
| 5 | ## Publishing New Releases |
| 6 | |
| 7 | EmbedPress follows the [](http://semver.orgSemantic Versioning 2.0.0](http://semver.org](http://semver.org), which means that given a version number we have `MAJOR`.`MINOR`.`PATCH`. We should increment these when: |
| 8 | 1. `MAJOR` version when we make incompatible API changes; |
| 9 | 2. `MINOR` version when we add functionality in a backwards-compatible manner; |
| 10 | 3. `PATCH` version when we make backwards-compatible bug fixes. |
| 11 | |
| 12 | |
| 13 | ## Steps to publish a new release: |
| 14 | 1. [](https://github.com/OSTraining/EmbedPress/blob/master/CONTRIBUTING.md#1-updating-plugin-versionUpdate version on some files](https://github.com/OSTraining/EmbedPress/blob/master/CONTRIBUTING.md#1-updating-plugin-version](https://github.com/OSTraining/EmbedPress/blob/master/CONTRIBUTING.md#1-updating-plugin-version); |
| 15 | 2. [](https://github.com/OSTraining/EmbedPress/blob/master/CONTRIBUTING.md#2-updating-changelogUpdate changelog](https://github.com/OSTraining/EmbedPress/blob/master/CONTRIBUTING.md#2-updating-changelog](https://github.com/OSTraining/EmbedPress/blob/master/CONTRIBUTING.md#2-updating-changelog); |
| 16 | 3. [](https://github.com/OSTraining/EmbedPress/blob/master/CONTRIBUTING.md#3-updating-branchesUpdate branches](https://github.com/OSTraining/EmbedPress/blob/master/CONTRIBUTING.md#3-updating-branches](https://github.com/OSTraining/EmbedPress/blob/master/CONTRIBUTING.md#3-updating-branches); |
| 17 | 4. [](https://github.com/OSTraining/EmbedPress/blob/master/CONTRIBUTING.md#4-updating-github-tagsreleasesUpdate GitHub tags/releases](https://github.com/OSTraining/EmbedPress/blob/master/CONTRIBUTING.md#4-updating-github-tagsreleases](https://github.com/OSTraining/EmbedPress/blob/master/CONTRIBUTING.md#4-updating-github-tagsreleases); |
| 18 | 5. [](https://github.com/OSTraining/EmbedPress/blob/master/CONTRIBUTING.md#5-generating-a-ready-to-install-packageGenerating a ready-to-install package](https://github.com/OSTraining/EmbedPress/blob/master/CONTRIBUTING.md#5-generating-a-ready-to-install-package](https://github.com/OSTraining/EmbedPress/blob/master/CONTRIBUTING.md#5-generating-a-ready-to-install-package); |
| 19 | 6. [](https://github.com/OSTraining/EmbedPress/blob/master/CONTRIBUTING.md#6-pushing-changes-to-svnPush changes to SVN](https://github.com/OSTraining/EmbedPress/blob/master/CONTRIBUTING.md#6-pushing-changes-to-svn](https://github.com/OSTraining/EmbedPress/blob/master/CONTRIBUTING.md#6-pushing-changes-to-svn). |
| 20 | |
| 21 | |
| 22 | ### 1. Updating plugin version |
| 23 | - Make sure that all changes were already pushed to `development` branch; |
| 24 | - Define the new [](https://github.com/OSTraining/EmbedPress/blob/master/CONTRIBUTING.md#publishing-new-releasesplugin version](https://github.com/OSTraining/EmbedPress/blob/master/CONTRIBUTING.md#publishing-new-releases](https://github.com/OSTraining/EmbedPress/blob/master/CONTRIBUTING.md#publishing-new-releases); |
| 25 | - Go to `/readme.txt` and look for the line/code below. Replace `x.x.x` with the new version. |
| 26 | ``` |
| 27 | Stable tag: x.x.x |
| 28 | ``` |
| 29 | - `/includes.php` - Look for the line/code below and replace `x.x.x` with the new version. |
| 30 | ``` |
| 31 | define('EMBEDPRESS_VERSION', "x.x.x"); |
| 32 | ``` |
| 33 | - `/embedpress.php` - Look for the line/code below and replace `x.x.x` with the new version. |
| 34 | ``` |
| 35 | * Version: x.x.x |
| 36 | ``` |
| 37 | |
| 38 | ### 2. Updating changelog |
| 39 | All changelogs must follow the same format (using the Markdown syntax), which is: |
| 40 | ``` |
| 41 | = x.x.x = |
| 42 | Release Date: YYYY-m-d |
| 43 | |
| 44 | * foo; |
| 45 | * another change/fix/enhancement; |
| 46 | * list of what have changed. |
| 47 | ``` |
| 48 | Where `x.x.x` is the newest version and `YYYY-m-d` is the release date. |
| 49 | |
| 50 | There's two files where the changelog must be updated with the latest changes: `/readme.txt` (look for the changelog section) and `/changelog.txt`. |
| 51 | |
| 52 | ### 3. Updating branches |
| 53 | The `master` branch holds all released and production packages. |
| 54 | |
| 55 | Once both version and changelog changes are ready and were already pushed to `development`, create a pull request from `development` to `master` branch. |
| 56 | |
| 57 | ### 4. Updating GitHub tags/releases |
| 58 | After the pull request get approved, still on GitHub, go to Releases and [](https://github.com/OSTraining/EmbedPress/releases/newdraft a new release](https://github.com/OSTraining/EmbedPress/releases/new](https://github.com/OSTraining/EmbedPress/releases/new). |
| 59 | |
| 60 | - **Tag Version**: inform the version you just launched prefixed by a `v`. |
| 61 | I.e: Let's say that the plugin was on version `1.4.2` and we patched something, hence the new version would be `1.4.3`. In this field, then, we'll put `v1.4.3`; |
| 62 | - **Target**: for stable releases, this should always be `master`; |
| 63 | - **Release Title**: the same value of **Tag Version**; |
| 64 | - **Description**: The list (of changes) part of the version's changelog; |
| 65 | - **Attach binaries**: we'll do on the next step. |
| 66 | |
| 67 | ### 5. Generating a ready-to-install package |
| 68 | Now that everything seems to be updated: |
| 69 | - Copy all plugin-only files (basically the whole `src` folder) into a separate directory (without .gitignore, etc); |
| 70 | - Rename this "new" folder to `embedpress`. All lowercased. |
| 71 | - Compress the folder into a `.zip` file; |
| 72 | - Rename the `.zip` file to `embedpress-x.x.x.zip` - where you must replace `x.x.x` with the newest version; |
| 73 | - Go to GitHub into your newest tag/release page (which you created on the previous step) and attach the `.zip` file to the form and save. |
| 74 | |
| 75 | ### 6. Pushing changes to SVN |
| 76 | First, you must have the EmbedPress svn checked out somewhere in your machine. We'll call this local-mirror directory `svnDirectory`. |
| 77 | |
| 78 | - Put the ready-to-install package contents (not the zip, only its content) into `svnDirectory/tags/x.x.x` where `x.x.x` is your release version; |
| 79 | - Replace `svnDirectory/trunk` contents with the same files/package you just added to the tags folder; |
| 80 | - Commit everything with a message announcing the new version, something like: |
| 81 | ``` |
| 82 | Releasing version x.x.x |
| 83 | ``` |
| 84 | Where `x.x.x` is the release version. |
| 85 |