It would be nice to have smooth release functionality in travix.
This comes in three parts:
In after_success or something if the current build is a tag and haxelib credentials are configured in a private environment variable and the build passes, zip and submit to haxelib. If a release.hxml is present run that before zipping stuff. Also some file should probably configure what exactly gets zipped and what not (I wouldn't mind stuffing that into the haxelib.json).
We could automate setting the credentials, i.e. haxelib run travix auth would ask the user for the haxelib credentials, check them on the server and then store the encrypted variable
Lastly this would be driven using functionality similar to haxelib-submit from within travix, so you can haxelib run travix release patch | minor | major
The 2nd and 3rd part may require third party dependencies. Because this is local functionality that requires local connectivity and haxelib being up, there is no reason they can't be loaded on the fly. There could be two libs, i.e. travix_auth and travix_release. Then AuthCommand would just make sure travix_auth is installed and then haxelib run travix_auth ...args and ReleaseCommand would be similar. Also the 2nd and 3rd part should be able to append the after_success hook to the .travis.yml if not present (given that YAML only has single line comments checking reliably should be easy enough, but I wouldn't mind using a full YAML parser for that).
We should also avoid running two builds on every tag.
It would be nice to have smooth release functionality in travix.
This comes in three parts:
after_success
or something if the current build is a tag and haxelib credentials are configured in a private environment variable and the build passes, zip and submit to haxelib. If arelease.hxml
is present run that before zipping stuff. Also some file should probably configure what exactly gets zipped and what not (I wouldn't mind stuffing that into thehaxelib.json
).haxelib run travix auth
would ask the user for the haxelib credentials, check them on the server and then store the encrypted variablehaxelib run travix release patch | minor | major
The 2nd and 3rd part may require third party dependencies. Because this is local functionality that requires local connectivity and haxelib being up, there is no reason they can't be loaded on the fly. There could be two libs, i.e.
travix_auth
andtravix_release
. ThenAuthCommand
would just make suretravix_auth
is installed and thenhaxelib run travix_auth ...args
andReleaseCommand
would be similar. Also the 2nd and 3rd part should be able to append theafter_success
hook to the.travis.yml
if not present (given that YAML only has single line comments checking reliably should be easy enough, but I wouldn't mind using a full YAML parser for that).We should also avoid running two builds on every tag.