If you work as a developer like me on a team releasing a WEB APP I want to ask:
Spoiler (if you want to answer the questions do that first please!)
I have an idea touching on these areas to try to prevent screw ups and give more confidence in making sweeping site changes.
The idea is roughly an automated testing solution that will intelligently "Lint" your UI on different browsers to make sure nothing is broken. You'd probably add a line to your travis.yml or appveyor.yml file (or whatever script you run on each build) and then it will pass/fail based on testing your app's UI in a real browser, but with minimal or no test writing from the developers.
We have 2 main branches: master + stage and all development is on local with feature-branches ex: "rgpd-cookie-compliance".
We do pull requests from this feature-branches to stage to send to customer/QA for validating the feature and when approved we do the pull request into master.
Both main branches (master + stage) are automatized deployments with Jenkins. Usually just to connect to servers with ssh to run something like "git pull && composer install && yarn && yarn build:production"
I think that to integrate some end-to-end testing on multiple browsers adn devices could be something cool, actually I know about https://www.browserstack.com/ even if I never used personally (quite pricey for my needs).
Hope it helps ;)
1- Continuously.
2- Mostly manual checks. I've been using Tailwind since its beginning, that helps a lot to not have unexpectedly messed up pages.
3- I usually work alone so I don't do automated tests (It's not an excuse, it's just that I'm fine with my current workflow). I run scoped tests while building something, then run the whole test suite before merging to develop and master branches.
4- The current project I'm working on (I've joined the team after the project's 3rd year) has an awful asset (frontend static files like CSS and images) management. Everytime we deploy it messes up the whole site and I, after 4 months, still cannot figure out why.
I think the answers for these questions are straightforward. Many people would respond yes so they seem a bit like a straw man.
Did you check out comp working on the same problem?
https://www.parrotqa.com/
Not sure if there is a lint tool which does the same.
Your idea sounds cool, is it kind of like Percy? https://percy.io
Thanks Jake for the answers.
Percy looks nice and very full of features. That is sort of "one end" of the spectrum of where the idea can go. The other is for simpler apps that just need some kind of "checklist validation" of their UI, and maybe it would be more applicable to non-developers or small dev teams.
Here is my answers by the way :-)
Thanks everyone. Sounds like Continuous integration (or non continuous but not ridiculous lengths of time) is the norm in this sample! I've recently worked at places that didn't so this is a nice surprise. I wonder if there is a correlation between people who are indie hackers only work at places that have modern tooling :-).
Answers to question 2 show a bit of a pain point and I feel it too at work. I might investigate and thing about that further, so thanks for that insight. To summarise it sounds like for most people 2 is manual (and therefore time consuming?) but someone attempted to automate it but it failed too often, and one person has got it automated.
3 has varying answers and I guess that naturally depends on the size of the project (in terms of LoC, team size) because I too will not bother if I am doing a side project, but it is essential for work.
Like @mdo says I may have asked the wrong questions, or not the ideal ones. But it has given me some insight so thanks for your detailed answers.