In a feature-driven world, support-software rarely gets the stage it deserves. Ask a stakeholder what a pipeline is and get ๐ .. which is sad. Because how else do you want to verify it you built it correctly?
Anyway: automated testing and linting is always part of my process. From day one – not in the final stages. Of course, you should have at least a tiny build-able fragment of your project, but the earlier you add #automation, the better. I usually run with local and continuous integration pipelines.
This project is hosted on GitHub, so I went with GitHub actions for the CI. We have 20 named pipeline stages which form a single commit gate. “Cheap” ones like linting and format checks run before the more “expensive” ones, which need a build. 129 automated tests are done, which cover 98% of the code. Together with the 30 unit and widget tests and a real-target integration suite we have fitting coverage. The local version runs as pre-commit hook, the GitHub one is also capable of doing the releases. And so far I made six public releases.
Also, Dependabot is integrated, so if I would miss the release of any dependency, then this neat little bot would create an automatic PR (pull-request) for me. ๐ฆโโฌ
The pipeline turns engineering expectations into executable policy. ๐๐ญ ๐ฐ๐จ๐ง’๐ญ ๐๐ฎ๐ข๐ฅ๐ ๐จ๐ซ ๐ฉ๐๐ฌ๐ฌ, ๐ฒ๐จ๐ฎ ๐๐๐ง’๐ญ ๐ซ๐๐ฅ๐๐๐ฌ๐. ๐๐ข๐ฆ๐ฉ๐ฅ๐ ๐๐ฌ ๐ญ๐ก๐๐ญ.
If you want to give this Croatian-German-language learning app a try, download the package from https://github.com/marcelpetrick/CroLingo/releases/tag/v0.0.63 and run it on your Android phone.
Have fun and enjoy learning!
I’ll keep you updated on what comes next. ๐ญ๐ท โค๏ธ ๐ฉ๐ช
#continuousIntegration #continuousDeployment #pipelines #automation



