Hello,
I'm testing my Ansible roles (58 at the moment) on Travis-CI using RoleSpec
framework (https://github.com/nickjj/rolespec/). Testing is currently done
by cloning Ansible from its main GitHub repository and enabling "hacking
environment", which takes about 5 seconds.
During development I tend to use Ansible 'devel' branch to get the latest
features that are implemented in the project, and also to be two steps ahead
of possible bugs in Ansible code, which my project is very dependent upon.
Having a heads up on possible bugs and easy way to find them (by using
git bisect) and help fix them is very useful.
Recent changes in Ansible code have hindered me somewhat in that regard. For
example, currently 'ansible-galaxy' is broken on "devel" branch:
#v+
$ ansible-galaxy -p roles install debops.secret
- downloading role 'secret', owned by debops
- downloading role from https://github.com/debops/ansible-secret/archive/.tar.gz
- error: failed to download the file.
- debops.secret was NOT installed successfully.
- you can use --ignore-errors to skip failed roles.
#v-
Or, for some reason, "npm" is an invalid parameter:
#v+
$ debops applications -l helios
Running Ansible playbook from:
/home/drybjed/.local/share/debops/debops-playbooks/playbooks/applications.yml ...
ERROR: npm is not a legal parameter in an Ansible task or handler
#v-
Solving these issues on my workstation to for example bypass them for the time
being is simple - I just switch to current stable branch, v1.7.2, for a while
and check back the next day.
But the same cannot be said about automated tests (for example on Travis), and
I don't mean that it can't be done. I can still tell the build script to
switch to current stable Ansible version, v1.7.2, and it will work fine.
The problem I have is lack of a "stable" branch in Ansible git repository.
When next stable Ansible is released, I will need to modify build scripts to
point to current stable Ansible release, v1.8.0. And the same for next stable
release, and so on, and so on.
I think that having a "stable" branch in main Ansible git repository which
would be placed at current stable release (v1.7.2) and moved to next stable
release when it arrives, would benefit greatly many use cases where cloning
Ansible from git repository from a stable version is more useful than setting
up APT PPA, namely for role and module tests. With "stable" branch it would be
easy to create two-phase tests, first one on stable branch and second one on
devel branch. And the upkeep of those tests on new Ansible stable releases
would be minimized.
Are there any plans to create "stable" branch in Ansible git repository,
alongside current "devel" branch?
Maciej