Difference between revisions of "Geeklog Release Procedures"
From GeeklogWiki
(→The Tarball) |
(→The Tarball) |
||
Line 12: | Line 12: | ||
* Confirm correct version number in /public_html/sitconfig.php, /public_html/admin/install/classes/installer.class.php, and /build.xml | * Confirm correct version number in /public_html/sitconfig.php, /public_html/admin/install/classes/installer.class.php, and /build.xml | ||
* Make sure all language files are synched | * Make sure all language files are synched | ||
− | + | ** Open your command prompt and to the top directory of your local Geeklog repository | |
− | + | ** Type: .\system\build\vendor\phing\phing\bin\phing.bat lang | |
* Once complete commit any updated language files | * Once complete commit any updated language files | ||
* For building an install package we use phing (which uses a config file called “build.xml” in the top directory). | * For building an install package we use phing (which uses a config file called “build.xml” in the top directory). |
Revision as of 00:53, 22 June 2017
This page outlines the necessary steps to perform before, during, and after the release of a new Geeklog version.
Contents
Pre-Announcements
- Obviously, plans for a new release should have been discussed on geeklog-devel. For security releases, the discussion may happen on geeklog-security only.
- Notify the geeklog-translations mailing list to give translators a chance and a timeframe to update their translations.
The Tarball
- Make sure you update history file in docs with version and release date (and readme in root directory if needed)
- Confirm correct version number in /public_html/sitconfig.php, /public_html/admin/install/classes/installer.class.php, and /build.xml
- Make sure all language files are synched
- Open your command prompt and to the top directory of your local Geeklog repository
- Type: .\system\build\vendor\phing\phing\bin\phing.bat lang
* Once complete commit any updated language files
- For building an install package we use phing (which uses a config file called “build.xml” in the top directory).
* Go to your Geeklog repository top directory in command prompt * Confirm latest repository and make sure no old compressed install packages exist (or they will be rolled into the new package). * Type: .\system\build\vendor\phing\phing\bin\phing.bat dist * Once the process complete you will get a file “geeklog-2.1.2.tar.gz” in the top directory * If this is a beta or release candidate then the file will need to be renamed to: geeklog-2.1.2-b1.tar.gz or: geeklog-2.1.2-rc1.tar.gz
- Tagging a revision in the repository will trigger the automatic creation of a Geeklog tarball
- The tarball will automatically show up in the submission queue of the File Management plugin on the Geeklog homepage
- Tag naming convention is as follows release: geeklog_2_1_0_stable beta: geeklog_2_1_0_b1 release candidate: geeklog_2_1_0_rc1
- unpack tarball on the server
- update site
Updating geeklog.net
- TBD: document traps and pitfalls
The following files need special handling when updating geeklog.net:
- remove the bundled lib-custom.php and robots.txt and use the copies already present on the webserver instead
- check db-config.php and siteconfig.php for any required changes
- lib-common.php: add the
require_once
line for the Bad Behavior plugin - footer.thtml: make sure the version number is visible and add the "hosted by pair.com" link (as per our agreement with pair Networks).
- style.css: add plugin-specific CSS, e.g. for the Forum plugin
- The Download block on the top right uses a block header template without a title, so add this to the theme's functions.php:
$_BLOCK_TEMPLATE['download'] = 'blockheader-notitle-right.thtml,blockfooter.thtml';
and make sure the blockheader-notitle-right.thtml template file exists. - As of Geeklog 2.1.0 the geeklognet_theme is now the default theme used by Geeklog.net. It is based on the Modern Curve theme which is also required in the themes directory. On upgrades for the geeklognet_theme remember to update the jquery_ui directory and the images directory with any changes from the Modern Curve theme. As far as template files are concerned only the files we modified directly for Geeklog.net should be in the geeklognet_theme directory and the Modern Curve theme should be the stock theme from the release.
Hacks
The following "Cool Hacks" are installed on geeklog.net:
- input type="search". The modern curve search box is located in leftblocks.thtml template file.
Information to Update
Geeklog Sites
- Make sure you update history file in docs with version and release date (and readme in root directory if needed) before tarball creation
- After approving the tarball from the File Management submission queue (the file can take up to 15 minutes to appear after adding the tag to the repository), go to the list of current versions. Edit all non-current versions and change their category from "Geeklog" to "Geeklog > old versions".
- Publish an article on geeklog.net:
- summarize the changes in this release
- include a link to the entry in the download area
- Convention for the story ID: geeklog-x.y.z, e.g. geeklog-1.5.2, geeklog-1.4.0sr6
- Add story to the Geeklog topic and the Announcements topic (default). Make sure both are set to inherit
- Announcements of new versions go into the Announcements topic. For security releases, either post the announcement in the Security topic, or post two articles (one in Announcements and the details of the security issues in Security).
- don't forget to send pingbacks and ping weblog directories
- Update the versionchecker.php script (not for betas/release candidates).
- Once updated, the new version of the script should be added to the tools repository.
- Send out an email to the geeklog-announce mailing list.
- Provide a brief description of the release and link to the geeklog.net article for details.
- Update the wiki frontpage (not for betas/release candidates)
- Update the bugtracker (not for betas/release candidates) to ensure the version is removed from the Roadmap and added in dropdowns available for bugreports:
- Go to Manage -> Manage Projects -> Geeklog 1 -> Versions
- Edit the version: Set the release date, check the "Released" checkbox
- Additionally, post a news item on the bugtracker frontpage
- Notify Ironmax at Spacequad.com that the demo site needs to be updated to use the latest version of Geeklog (not for betas/release candidates). Once updated you will also need to update the Resources block with the correct version number of the demo site.
External Sites
These sites should only be notified about final and security releases (i.e. not for betas and release candidates):