forked from elkarte/Elkarte
-
Notifications
You must be signed in to change notification settings - Fork 0
Preparing a release
spuds edited this page Feb 16, 2015
·
1 revision
[DEVELOPER DOCUMENTATION](Tech Home) > [RELEASE](Prepairing a release)
ElkArte uses the release system provided by github.
A few days before the release start a draft of the release announcement.
In order to have a formatted result in the news section of the admin panel, remember to use html in the text of the release announcement.
Each release has at least two attachments: a zip and a tar.gz version of the install package.
This checklist is intended to be used as a template for the preparation of any release.
- Do a fresh clone of the repository
- generate detailed-version.js:
- run
generate_detailed-version.php
from the root directory - move the newly generated
detailed-version.js
out of the package directory - delete
generate_detailed-version.php
- run
- Verify all the files changed during the preparation of the patch have the correct version number. The following git command can be used to have a list of all the files changed between two branched.
git log --name-only --pretty=oneline --full-index master..patch_1-0-x | grep -vE '^[0-9a-f]{40} ' | sort | uniq
- commit detailed-version.js to gh-pages:
- run
generate_detailed-version.php
from the root directory - move the newly generated
detailed-version.js
out of the package directory - delete
generate_detailed-version.php
- checkout the gh-pages branch (fetch the repository if necessary)
- create a new branch
- replace the file
detailed-version.js
with the one just generated - commit the changes
- push online and send a PR to the ElkArte repository
- run
- Write a draft of the release announcement. It should consist of:
- a general description of the release
- a release notes document including the major changes since the previous version (for development versions like alpha, beta and RC is the previous dev version, for final versions is the previous stable version8
- a known issues document listing the major issues affecting the release (i.e. bugs not critical enough to be blocker, but potentially annoying)
- Do a fresh clone of the repository
- From the install directory, move the following files to the base directory:
- Settings.php
- Settings_bak.php
- install.php
- db_last_error.php
- install_1-0_mysql.sql
- install_1-0_postgresql.sql
- remove the following files and directories:
- .git
- .gitattributes
- .gitignore
- .scrutinizer.yml
- .travis.yml
- CONTRIBUTING.md
- DCO.txt
- phpdoc.yml
- README.md
- docs
- install
- tests
- create a package with the remaining files
- Merge the pull request for the detailed-version.js update
- Create a new release at github using the announcement previously drafted, and attach the packed files
- ...
- Profit!!!
Architecture
- Architecture
- [Coding Standards](Coding Standards)
- [Database Layer](Database layer)
- MVC
- Release
Functions and Variables
- About $user_info variable
- About the createList() function.
- About [Template Layers](Template layers).
- About [is_activated](is activated) values.
Customization
- [Create a theme](Make a new theme)
- [Create an Addon](Create an Addon)
GitHub