This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
- # announcements (8)
- # aws (12)
- # babashka (84)
- # beginners (380)
- # calva (56)
- # clj-kondo (52)
- # cljdoc (4)
- # cljs-dev (327)
- # cljsrn (4)
- # clojure (154)
- # clojure-italy (5)
- # clojure-nl (3)
- # clojure-uk (21)
- # clojurescript (52)
- # conjure (133)
- # cursive (64)
- # datomic (33)
- # emacs (22)
- # fulcro (35)
- # graalvm (24)
- # graphql (1)
- # kaocha (1)
- # leiningen (1)
- # off-topic (24)
- # onyx (2)
- # pathom (10)
- # re-frame (3)
- # reagent (3)
- # reitit (3)
- # shadow-cljs (48)
- # spacemacs (12)
- # tools-deps (85)
- # xtdb (7)
Hello, what is a recommended/nice way of organizing a mono-repo like project of multiple tools.deps backed projects in terms of being able to run all tests and produce JARs/docker images/run tests for each from the root of the project? I have something like this, using Makefiles:
. ├── Makefile ├── docker-compose.yaml ├── consumer │ ├── Dockerfile │ ├── Makefile │ ├── deps.edn │ ├── src │ │ └── queue │ │ └── consumer.clj │ └── test │ └── queue │ └── consumer_test.clj └── producer ├── Dockerfile ├── Makefile ├── deps.edn ├── src │ └── queue │ └── producer.clj └── test └── queue └── producer_test.clj
@rahul080327 I'd recommend looking at juxt edge which is my implementation of a monorepo. If you are looking to share makefiles, you probably want the include instruction in make (not shown in edge)
This looks really neat @U09LZR36F! I was considering going the shell approach but was thinking the need for manual orchestration and error handling might be complex hence opted for Make. But will try out your organized approach! Thanks! 😄
Is it possible to use
clj and friends private repositories via a password-protected SSH key?
@ghadi Yes, I did that but I’m getting an error (`USERAUTH fail`) when I try it with a password-protected SSH key.
I don't think password protected ssh keys are supported in the set of stuff we're running
JSch, the underlying ssh library, is stupid w.r.t. understanding .ssh/config when there is also an ssh-agent present
% ssh-add -l 4096 SHA256:… /Users/zane/.ssh/id_rsa (RSA)
% cat ~/.ssh/config Host * AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_rsa
i.e. It’s using the copy of the repository I downloaded when I was using a passwordless SSH key.
I don't think in your case there is much harm in removing just the IdentityFile portion of that block
or 1 SSH key that grants you access to a bunch of repos, but you also have unrelated SSH keys present too?
Also, I just want to confirm one more thing: https://ask.clojure.org/index.php/8725/deps-support-newer-private-file-formats-types-such-ed25519 that
clj won’t work with OpenSSH-format keys and that you must use
-m PEM when generating them. Is that correct?
My personal recommendation is to not use files at all, only put your ssh keys into the agent
clj can use fancy newer keys like ed25519 keys as long as JSch is asking the agent to deal with them
Right. I certainly wasn’t using SSH with GitHub until I had to get
clj to work with a private repository.