precommit and prepush #git hooks are used to catch issues before they are pushed upstream.
* precommit runs only on staged files (takes few seconds)
* prepush runs #eslint#typescript and unit tests (takes up to 20 seconds)
Every time a commit is pushed:
1) We build a #docker image & bundle cypress and other development dependencies. This allows us to run all subsequent tasks using the same Docker image.
It is fast. Takes 2-4 minutes. ๐
2) We run 5 tasks concurrently to validate our build.
* Allows anyone to preview what is being developed.
* Allows anyone to preview our #storybook.
* Allows to leave visual reviews (WIP)
4) Before changes can be merged to the main branch, we use #GitLab to mandate at least 1 review from the team.
In addition, we use #GitLab review system to advise who is the best person to review the code based on which files have changed.
5) When changes are merged to the main branch, we automatically deploy to production.
We use #argocd to implement #gitops. This means that we have a detail log of everything that has been deployed, and in case of a critical error, reverting is as simple as "git revert" ๐งพ
6) Finally, we push changes regularly to the main branch. Small incremental updates, dozens of times a day.
This means that if things break, they are typically small things and easy to revert / patch.
We use feature flags to hide any WIP features. ๐ณ
We've discovered something that has become a major part of our culture overnight ๐คฏ
We've added @loom videos to our workflow & our entire @contrahq is hyppppped ๐ฅ
CONTINUE READING ๐๐๐
If there is one thing I miss about working in an office, it is the moments that we share when we achieve milestones. ๐
Text cannot communicate the same emotions โค๏ธ that are seen in our faces and voices when we've _just_ hit a milestone ๐ & turn to our buddies to celebrate ๐
So we've started sharing short videos that capture the excitement any time any of us hit a milestone... Well, this is how it is going ๐คฉ
(Thank you @samtaylorr15 for allowing me to put you on a spot here! I just love this video โค๏ธ)