bahmanm
Husband, father, kabab lover, history buff, chess fan and software engineer. Believes creating software must resemble art: intuitive creation and joyful discovery.
Views are my own.
I work primarily on the JVM & the projects (personal/corporate) I work w/ can be summarised as below:
- Building & running the repo is done on the host using an SCM (software configuration management tool) such as Gradle or SBT.
- The external dependencies of the repo, such as Redis, are managed via a
docker-compose.yml
. - The README contains a short series of commands to do different tasks RE (1)
However one approach that I’ve always been fond of (& apply/advocate wherever I can) is to replace (3) w/ a Makefile
containing a bunch of standard targets shared across all repos, eg test
, integration-test
. Then Makefiles are thinly customised to fit the repo’s particular repo.
This has proven to be very helpful wrt congnitive load (and also CI/CD pipelines): ALL projects, regardless of the toolchain, use the same set of commands, namely
make test
make integration-test
make compose-up
make run
In short (quoting myself here):
Don’t repeat yourself. Make Make make things happen for you!
Have you tried installing a non-snap version to confirm the theory?
I’m no OCaml expert but I enjoyed reading it. Thanks.
I don’t think you’ll be able to achieve that with systemd paths, I’m afraid. It’s not a use-case it is designed for.
It’s hard to come up with a suggestion without knowing more about the depth of the directory and the number of nodes in each level. But you could try updating a dummy file such as latest_timestamp
in the top-level directory (which a systemd path can monitor BTW) and let the service unit be triggered by that.
To disable “quarantined domains” if you have to : https://support.mozilla.org/en-US/kb/quarantined-domains