? Pending

User tests: Successful: Unsuccessful:

avatar mbabker
mbabker
5 Mar 2018

Summary of Changes

The build/packaging script has a very rigid definition that makes it difficult-to-impossible to reuse it (in fact, the nightly builds have to use a customized variant to build from a working branch versus a git tag and exclude package types). So, let's fix the build script.

Usage: php build/build.php [options]
        [options]:
                --remote <remote>:      The git remote reference to build from (ex: `tags/3.8.6`, `4.0-dev`), defaults to a tag for the CMS version string
                --exclude-zip:          Exclude the generation of .zip packages
                --exclude-gzip:         Exclude the generation of .tar.gz packages
                --exclude-bzip2:        Exclude the generation of .tar.bz2 packages
                --help:                 Show this help output

The main option added here is the --remote option, the exclude options are for convenience.

Testing Instructions

With the main CMS repo cloned and all tags, try different setups including these base commands:

  • php build/build.php --remote=tags/3.8.5 should build packages for 3.8.5
  • php build/build.php --remote=3.9-dev should build packages for 3.9

Expected result

Release packages can be built based on any valid git reference branch or tag

Actual result

Release packages can only be built if there is a git tag for the active version string

Documentation Changes Required

N/A, docs are contained within the script

avatar mbabker mbabker - open - 5 Mar 2018
avatar mbabker mbabker - change - 5 Mar 2018
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 5 Mar 2018
Category Repository
avatar brianteeman
brianteeman - comment - 6 Mar 2018

I cant get it to complete on my ubuntu for windows system but thats probably unrelated to this script and my fault

However the PR says

php build/build.php --remote=tags/3.8.5 should build packages for 3.8.5

But the output of the script (before it fails) is
Start build for version 3.8.6-dev.

avatar mbabker
mbabker - comment - 6 Mar 2018

That's part of the WIP. A lot of the setup is still coupled to the way things work now, i.e. getting version information out of the Joomla\CMS\Version class from your current git clone and not from what you intend to build against. To do it right, that's going to have to be moved to a point after the git archive command runs so the version class can be included with the right data, BUT, to keep the current behavior (and not force the --remote argument to always be passed), the version info still needs to be based on the current logic for the default case. So, need to sort that out (and inherently redo all the internal structuring that is based on using the version info)

avatar mbabker mbabker - change - 7 Mar 2018
Labels Added: ?
avatar mbabker mbabker - change - 7 Mar 2018
The description was changed
avatar mbabker mbabker - edited - 7 Mar 2018
avatar mbabker
mbabker - comment - 7 Mar 2018

OK, should be building correctly now. I didn't do a file-by-file comparison but the Version class is in the expected state when specifying the 3.8.5 release tag or the 3.9-dev branch as the build remote.

avatar zero-24
zero-24 - comment - 8 Mar 2018

I have tested this item successfully on 1d7107e

? Thanks @mbabker


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/19848.

avatar zero-24 zero-24 - test_item - 8 Mar 2018 - Tested successfully
avatar mbabker mbabker - change - 31 Mar 2018
Title
[WIP] Tweak build script for added flexibility
Tweak build script for added flexibility
avatar mbabker mbabker - edited - 31 Mar 2018
avatar wilsonge wilsonge - change - 4 Apr 2018
Status Pending Fixed in Code Base
Closed_Date 0000-00-00 00:00:00 2018-04-04 11:52:29
Closed_By wilsonge
avatar wilsonge wilsonge - close - 4 Apr 2018
avatar wilsonge wilsonge - merge - 4 Apr 2018

Add a Comment

Login with GitHub to post a comment