this post was submitted on 26 Sep 2024
30 points (96.9% liked)

Programmer Humor

19570 readers
1607 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
top 18 comments
sorted by: hot top controversial new old
[–] [email protected] 2 points 1 month ago* (last edited 1 month ago) (1 children)

I've often been able to alias drun='docker compose run --rm --build' and simplify down to:

drun test

Should be able to encode all those wayward args into docker-compose.yml or Dockerfile and only use vanilla docker commands -- that's the whole point of containerization

[–] [email protected] 1 points 1 month ago (1 children)

The env file is the weirdest part, the container itself has a required environment variable and if I don’t pass it in command line (only have it in the test compose file) the base compose fails because it has no port.

Most of the other commands are to merge the compose files so I can keep my base compose file clean!

[–] [email protected] 1 points 1 month ago* (last edited 1 month ago) (1 children)

Simpler to keep everything in one compose file if you can, under a test service that doesn't build unless explicitly named

Un-weird that env var and use the normal, boring feature of defining environment under your test service

[–] [email protected] 1 points 1 month ago (1 children)

The variable is already in the environment, it just doesn’t have a default because it’s required for each container

[–] [email protected] 1 points 1 month ago (1 children)

You can reference envs from the host in docker compose, so code it in instead of manually passing tribal knowledge in: https://stackoverflow.com/a/73826410

[–] [email protected] 1 points 1 month ago* (last edited 1 month ago)

Yep, you can also set defaults, required, alternates, etc

This discussion did help me realize that my problem was that I forgot an !override on one of my service’s options. Now it’s just merging the two compose files and setting the profile, thanks for that!

[–] [email protected] 10 points 1 month ago (2 children)

Looks like another make. What are the differences though...

[–] [email protected] 5 points 1 month ago* (last edited 1 month ago) (2 children)

Here's their FAQ answer for that: https://just.systems/man/en/what-are-the-idiosyncrasies-of-make-that-just-avoids.html

I imagine, there's various smaller differences in how the recipes are defined, but yeah, this is the big one.

I find that Just feels a lot like just a collection of script files, with built-in error handling for argument parsing and during execution. And it also offers easier discovery of available tasks and how to use them.

[–] [email protected] 3 points 1 month ago

aight, why not, might as well try it out :D

[–] [email protected] 3 points 1 month ago* (last edited 1 month ago) (1 children)

Yes! It reminds me a bit of python’s click library but for bash

[–] [email protected] 2 points 1 month ago (1 children)

I'm just gonna put this little bad boy into my stash of interesting libraries.... Here we go. 😖

[–] [email protected] 2 points 1 month ago
[–] [email protected] 2 points 1 month ago (1 children)

It’s pretty much just make, but I find it easier to work with

[–] [email protected] 2 points 1 month ago

I see, I see.

[–] [email protected] 4 points 1 month ago (2 children)

Discovered just yesterday, my life is easier

[–] [email protected] 2 points 1 month ago (1 children)

This looks awesome to use with Qemu, thanks.

[–] [email protected] 1 points 1 month ago

Spreading the good word 🙌

[–] [email protected] 2 points 1 month ago