https://bultrowicz.comButlablog - Posts tagged CI/CD2023-04-08T18:58:29.302879+00:00ABloghttps://bultrowicz.com/choosing-a-ci/Choosing a CI service for your open-source project2016-09-18T00:00:00+02:00Michal Bultrowicz<div class="ablog-post-excerpt docutils container">
<p>I host my code on GitHub, as probably many or you do <a class="footnote-reference brackets" href="#id6" id="id1" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a>.
The easiest way to have it automatically tested in a clean environment (what everyone should do)
is, of course, to use one of the hosted CI services integrated with GitHub.</p>
</div>
I host my code on GitHub, as probably many or you do 1.
The easiest way to have it automatically tested in a clean environment (what everyone should do)
is, of course, to use one of the hosted CI services integrated with GitHub.2016-09-18T00:00:00+02:00https://bultrowicz.com/cd-with-angularjs-commits/Continuous delivery of a Python library with AngularJS commit convention2016-10-10T00:00:00+02:00Michal Bultrowicz<div class="ablog-post-excerpt docutils container">
<p>I got tired of having to manually build and upload my library (<a class="reference external" href="https://pypi.org/project/mountepy/">Mountepy</a>) to PyPI,
so I decided to do what any sane programmer would do - set up automation <a class="footnote-reference brackets" href="#id8" id="id1" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a>.
But how would my scripts know whether they need to just update the README on PyPI and when to
assemble and push a new version of the library?
Thanks to the <a class="reference external" href="https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit">AngularJS commit convention</a>!
Oh, and <a class="reference external" href="https://snap-ci.com/">Snap CI</a> will run the whole thing.
Why Snap, you ask? See my previous article - <a class="reference internal" href="../../../choosing-a-ci/#choosing-a-ci"><span class="std std-ref">Choosing a CI service for your open-source project</span></a>.</p>
</div>
I got tired of having to manually build and upload my library (Mountepy) to PyPI,
so I decided to do what any sane programmer would do - set up automation 1.
But how would my scripts know whether they need to just update the README on PyPI and when to
assemble and push a new version of the library?
Thanks to the AngularJS commit convention!
Oh, and Snap CI will run the whole thing.
Why Snap, you ask? See my previous article - choosing-a-ci.2016-10-10T00:00:00+02:00https://bultrowicz.com/continous_validation_with_make_and_entr/Make and entr for code validation during editing2021-12-30T00:00:00+01:00Michal Bultrowicz<div class="ablog-post-excerpt docutils container">
<p>For a while now, I’ve been wondering how to combine <a class="reference external" href="https://github.com/eradman/entr">entr</a>
(which automatically runs commands on file changes)
with the way I setup project validation (both for CI/CD and for local developer usage) with Makefiles.
The best thing I got so far is the <code class="docutils literal notranslate"><span class="pre">validate_continously</span></code> target in
<a class="reference external" href="https://github.com/butla/machine_setups/blob/master/Makefile">my Makefile</a>.</p>
</div>
For a while now, I’ve been wondering how to combine entr
(which automatically runs commands on file changes)
with the way I setup project validation (both for CI/CD and for local developer usage) with Makefiles.
The best thing I got so far is the validate_continously target in
my Makefile.2021-12-30T00:00:00+01:00