satis
satis copied to clipboard
must use tag,not support dev-master?
not support:
"require": {
"xxx": "dev-master"
}
ok:
"require": {
"xxx": "1.0"
}
When reporting issues or asking questions please provide sufficient information to reproduce or analyse the problem, including expected and actual output.
Branches are supported.
Can you share what error you are receiving, if any at all?
When I update branches code, and then push to git repo, then I build satis packages, then I use branches for composer update, always not update the latested code, is just like this?
I still do not understand your question. If English is an issue please consult with someone more proficient in the language to construct an issue report we can work with. Help us help you.
Hi @curry684,
I'm with the same problem and i'll try explain...
Short Version
Satis is not updating the repository without tag, it's stuck on the commit of first download (git clone)
Longe Version
I have a package in development configured to dev-master in my project composer.json.
After add the repository to satis.json, run the build on satis and run composer update in my project, everything works well.
Then the package development continues, the build is executed one more time but when i execute composer update in my project again, the composer doesn't take the latest code.
To check the problem, i looked the satis static json file and saw the hash of the previous commit and not of the recent.
Doesn't have any tag on the repository, only the master branch, because it's in development.
Do you have any idea to solve this?
@marcosalberto did you re-run the satis build process each time you updated the package that is in development?
One thing I've discovered which can cause this or a similar behavior is the following setting:
"archive": {
"skip-dev": true
},
If you set skip-dev to false, you may archive a bunch of dev-master versions you don't want, but you will get the master branch of your development that you do want.
I'm running into this issue as well, thus not in the same way.
I have multiples modules, with a couple of layer of dependencies. If my modules are in dev-master without tags created on the gitlab instance, they won't be processed correctly.
Reproducible behavior with gitlab & satis : "group/MainProject" => composer.json : "require-dev": " "group/moduleA" "require-dev": " "group/moduleB"
In "group/moduleA" => composer.json : "require-dev": " "group/subModule1"
In "group/moduleB" => composer.json : "require-dev": " "group/subModule2"
In "group/subModule1" => composer.json : "require": " "packagist/publicModule"
"satis.json": "minimum-stability": "dev", "require-all": true, "require-dependencies": true, "require-dev-dependencies": true
No archive settings, nothing except list of custom repositories.
When doing a composer install (or update) in MainProject directory, moduleA & moduleB will be downloaded. subModule1 & subModule2 won't, neither will packagist/publicModule.
Create a version tag, and switch all packages to require with a laxist version constraint, sub packages will be downloaded.
Being on a dev Git, with my dev server plugged in, and working with a lot of micro-commit (even just to fix a typo and test it), I'm not fan of having to create "tags/version" each time (not possible from my dev tool, so I have to go on the web git interface).
Note : i've tried the "minimum-stability": "dev", in all my composer.json files, it did not help either ...
@Thelvaen I am in a similar situation. I have lots of micro-commits. I always have to tag them in order to get them to appear in my parent project. It's a hassle, to be sure.
I made a little script that is called by hooks from the git to publish a tag each time a commit is done, and an other script that will refresh the Satis each time a tag is published ^^
It's been a few years, has this been addressed at all? During package development it's definitely a pain to have to make a new tag every time I want to update my remote testing server.
Good question. Who feels like addressing this? Anyone volunteering some free time?