travis-ci / beta-features

The perfect place to leave feedback and comments on newly released Beta Features.
56 stars 68 forks source link

I'm not convinced that the custom boolean language with the new stage feature is needed. #38

Closed matthewcummings closed 6 years ago

matthewcummings commented 6 years ago

I've been testing out stages and overall, it's a fantastic addition to the platform. That being said, the new boolean language for specifying stage conditions feels a bit awkward. I've been battling the syntax and banging my head for a few hours just to implement simple conditional statements.

For example: With environment variables, do I use env(VAR) or env.global(VAR) or "$VAR"??? How do I test if an environment variable is unset? Compare it with "", use "IS present"? Do something else? What regex syntax is supported? Is it Perl5?

It might be easier to just allow bash/shell statements in conditions the same way you can with the on: tag https://docs.travis-ci.com/user/deployment#Conditional-Releases-with-on%3A.

Regardless, it feels inconsistent having two ways to define conditions in .travis.yml.

jayvdb commented 6 years ago

If it was to use env vars, it could only be the env vars which Travis can pre-set before the stage is started, which wouldnt be very many of them. It would however be more consistent and allow more flexibility.

joshk commented 6 years ago

As Stages is now released and GA, I'm going to close this issue.

If you have any feedback on improvements we should consider, please feel free to add a discussion in our new Community forum: https://travis-ci.community/c/product

Happy building

Josh