satis icon indicating copy to clipboard operation
satis copied to clipboard

Tagging release versions to allow fetching a known version of Satis

Open sedan07 opened this issue 8 years ago • 12 comments

To allow deploying a particular version of Satis it would be very useful if git tags could be utilised for each new release of Satis. This would for instance allow a CI process running a Satis build to be able to pull down a known version of Satis to run (using composer create-project).

This would be especially useful when breaking changes are made such as removing PHP 5.4 support as any CI servers with PHP 5.4 on them (CentOS/RHEL7) can still build from the last tag supporting 5.4 instead of always using master

sedan07 avatar Apr 13 '16 13:04 sedan07

+1

graemedavidson avatar Apr 13 '16 13:04 graemedavidson

👍

Khaldoun488 avatar Apr 13 '16 13:04 Khaldoun488

This!

TheBishopOfSoho avatar Apr 13 '16 13:04 TheBishopOfSoho

We could release a tagged version, sure. But there are still some PR's open and several feature requests. I don't really know which should be implemented before a 1.0 or not, nor am I really in a position to make that decision.

At the very least, all open bug issues should be resolved though. But we (the Composer team) have very limited time available. Satis depends almost entirely on contributions from its users.

alcohol avatar Apr 13 '16 22:04 alcohol

At the very minimum, having a tag or even a branched copy of the version prior to PHP requirement upgrade should be implemented to give people who still run on >=5.3.3, <5.5.0 SOME option to continue to use this other than hard coded commit hashes. Checking out master currently fails on those, and as a result automated build systems that cannot use commit hashes no longer work.

edit: Not to flog the horse, but consider this, about 50% of PHP servers use a version of PHP < 5.5.0 (source: W3Techs PHP Stats dated 14 April)

TheBishopOfSoho avatar Apr 14 '16 10:04 TheBishopOfSoho

You can --ignore-platform-reqs, if you insist on running a php version that is considered end-of-life.

alcohol avatar Apr 14 '16 12:04 alcohol

What about in the case where we want to run Satis to mirror Satis? My satis is configured to only only mirror stable package releases, but since Satis has no releases, it won't mirror it (or at least, I'm not aware of overriding the minimum-stability for one package)

cjsfj avatar May 02 '16 15:05 cjsfj

You should be able to override the stability for a singe package explicitly by using the stability flags in the requirement (@dev|@alpha|@beta) or by require'ing a dev- branch.

E.g.

"require": { "composer/satis": "dev-master" }
  // or 
"require": { "composer/composer": "^1.0@dev" }

alcohol avatar May 03 '16 16:05 alcohol

Ignoring platform requirements defeats the purpose of having platform requirements in the first place.

I appreciate developers tend to put arbitrary numbers for php version requirements, but what if one of the required packages really needs php5.5 because it actually started to use something like traits or any other things from http://php.net/manual/en/migration54.incompatible.php ?

In this case --ignore-platform-reqs will allow to install latest version of satis, which will not work on the outdated system.

blex18 avatar May 05 '16 10:05 blex18

You're drifting off-topic though. This issue is about tagging a Satis release so people can lock in a "stable" version.

alcohol avatar May 05 '16 11:05 alcohol

Beg you pardon, but it was "fetching a known version" originally. "stable" popped up 3 weeks later, and yes, to some degree is off-topic to the original issue.

blex18 avatar May 05 '16 11:05 blex18

I mean, this issue/thread is about tagging Satis (currently there is just a master branch). This has nothing to do with the requirements that Satis has in its own composer.json. So please, keep it on-topic, and open another issue if you have something else to discuss.

alcohol avatar May 05 '16 22:05 alcohol