I’ll try to clarify.
I automatically set the version of my projects depending on the git repository status. If there is an annotated tag, then the status is considered “stable”. If there is no annotated tag, is considered “unstable”, and a lightweight tag generated with
git describe is produced for deploying on GitHub releases.
Now, on Travis, every time i commit, and by build and deployment is successful, a second build starts for the just created lightweight tag, wasting resources. That commit has already been tested and deployed, there’s no reason to run the build again.
See, e.g., this build that correctly terminated, deployed, and generated another unwanted build.
I am currently filtering them out with
if: type != push OR tag IS blank OR tag ~= /^\d+(\.\d+)*$/, but that’s a kludge, what I’d like to express would be:
if: type != push OR tag IS blank OR tag IS lightweight, this way I could create releases with arbitrary names.
Also, the build config would be more readable.
Let me know if I made myself clearer