Comments (9)
I'm still thinking about this. I am considering disabling CI for master
instead, since it will be redundant – everything will already have been tested before it gets merged. That would leave no good branch to use for a status image, unless I commit to having some kind of "staging" branch. If I use the latest build over the whole project, it might scare people away instead, since those can fail on any pull request.
There is also the matter of not making the README uglier :)
EDIT: To be more clear, I will be doing all merges in temporary staging branches that will get tested, then fast forward master
to them on success. The same goes for pull requests that don't require special merging work. I am not sure if it's worthwhile to have a permanent staging branch only for the sake of having badges, but maybe it is.
from better-enums.
Currently master
seems to be the latest stable
branch. If the badge is limited to that branch, the users can see that this project has
a) tests
b) passing tests
just by looking at your README. These status images are not for you. You already tested the code and know that it works. But your users don't.
from better-enums.
I already understand that it's not for me, and that there is value in using something people immediately recognize.
Nonetheless, the badges communicate not exactly the right information about the project. The information I want to efficiently communicate is that master
is always stable. The information the badges do communicate is that master
is sometimes stable, but might not be, and that there are intervals when this information is pending because the build has not finished. In fact, there are never any such intervals. So, as you can see, the badges don't do what I really want.
I am even considering things such as using static images (with some ALT text to justify the deception for those who discover it). But I am also quite likely to just use the badges normally because it's simple, even though sloppy. I simply want to look for better options first. It's not an emergency and I am not being ignorant or stubborn.
I am aware of the ability to limit the badges to master
. As I explained before, having builds for master
is redundant because it wastes time building. It's also imprecise, because the build can be pending, when in fact a build of the exact same commit has already completed. I am trying to avoid these drawbacks, if it is possible in a reasonable way. Yes, they are minor, but, sorry for repeating, it's not such an emergency that I can't spend a few days thinking about it in my downtime. It's worth something to me if I can communicate the reliability of master
as easily as a badge communicates the status of the latest build. If I can't, then I fall back to the regular badges.
I would appreciate any useful information you have. Please don't repeatedly tell me what I and everyone else who uses GitHub already knows.
from better-enums.
If you are looking for static images, shields.io might do what you want.
AFAIK if a build is pending/cancelled/in progress, travis/appveyor will display the last build status instead.
from better-enums.
Thanks, that looks cool :)
I don't know for sure if Travis/AppVeyor would display a pending status, but AppVeyor docs do mention configurable pendingText
. Maybe they only show that if there is no previous completed build for a branch/project, but it still spooks me, at least at first glance.
from better-enums.
I just checked and travis does indeed wait for the build to complete before updating the badge. Appveyor displays a "pending" status image instead.
from better-enums.
Right, thanks. So, this behavior is acceptable, but not optimal.
It's a valid issue, just not immediately clear how to best resolve it. There is, after all, some value in even "redundant" master
builds, since I might make a mistake when fast-forwarding, or doing something else.
from better-enums.
from better-enums.
Looks good!
from better-enums.
Related Issues (20)
- Static functions for enum types HOT 1
- Use in a packed struct HOT 1
- MSVC /permissive- leads to "expression did not evaluate to a constant" HOT 3
- Compiling example code: 5-map.cc fail HOT 2
- enums stops being enums HOT 1
- What is the tool to run better-enums in REPL mode in README.md? HOT 2
- Compile-time name trimming and binary size
- How to reflect to enum with type and value strings? HOT 4
- Need to have standard Debian packaging capability
- Cannot use better_enum from class HOT 1
- Using Better Enums in std::unordered_map as key leads to 'message : see reference to class template instantiation'
- Timeframe for new release / tag
- Provide an update to make_macros.py script to use python3
- Set up GitHub Actions
- C++17 interop: std::optional HOT 2
- Way to opt out of string conversion? HOT 2
- cannot add better_enum values to unordered_set HOT 3
- Member '_value' was not initialized in this constructor HOT 1
- Better-enum in maps HOT 7
- Are there guarantees on size with better enums? HOT 10
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from better-enums.