aleph

Matthew Davidson 2022-10-06T10:55:03.390249Z

Hey all, if you’re thinking of contributing, and want a t-shirt (or a tree planted in your name), we’re participating in Hacktoberfest!

💯 1
valerauko 2022-10-06T13:23:25.005479Z

what are issues that you want to prioritize?

valerauko 2022-10-06T13:36:37.598859Z

I just made https://github.com/clj-commons/aleph/pull/630 I myself want to see asap. Happy to help with other stuff too.

dergutemoritz 2022-10-06T13:42:24.257959Z

Ah great, I also meant to do that for the same reason :D

Matthew Davidson 2022-10-06T13:46:46.364509Z

Weird, the Circle checkout phase is failing again. ???

dergutemoritz 2022-10-06T13:48:06.038869Z

Indeed

dergutemoritz 2022-10-06T13:48:51.798089Z

I found https://discuss.circleci.com/t/switched-our-template-over-to-2-0-and-getting-git-error-trying-to-pull-remote-ref/20371/11 which seems to be about the same issue. But if the multiple slashes were the problem, it should have never worked, shouldn't it 🤔

dergutemoritz 2022-10-06T13:49:36.253889Z

Hm mabye it's caused by the / in your branch name @vale

Matthew Davidson 2022-10-06T13:50:38.403169Z

Maybe, but I tend to label my branches git flow-style, too

Matthew Davidson 2022-10-06T13:50:49.378379Z

e.g., bugfix/…

valerauko 2022-10-06T13:51:05.711709Z

i could try re-pushing on a non-/ branch but it's never caused a problem before

Matthew Davidson 2022-10-06T13:51:13.780919Z

And our circle config file has barely changed in two years

dergutemoritz 2022-10-06T13:52:16.000189Z

Hmm yeah seems unlikely to be the culprit. The original branch name doesn't even show up in the output.

Matthew Davidson 2022-10-06T13:55:16.235679Z

@vale Can you try adding some whitespace and push up another commit? (We’ll squash later.)

dergutemoritz 2022-10-06T13:57:16.825129Z

My best guess is that CircleCI changed something on their end wrt how they check out PRs

dergutemoritz 2022-10-06T14:01:58.888539Z

Hm no, the script is no different from when it last worked in a similar case

dergutemoritz 2022-10-06T14:02:54.234639Z

https://www.githubstatus.com/incidents/gq1x0j8bv67v looks very relevant: > We identified an issue with the checkout action download which was causing elevated actions failures. But according to them, it should have been fixed 2 hours ago already.

Matthew Davidson 2022-10-06T14:03:10.245389Z

That’s not quite true. This section:

if [ "$existing_repo" = 'true' ] || [ 'false' = 'true' ]; then
  echo 'Fetching from remote repository'
  if [ -n "$CIRCLE_TAG" ]; then
    git fetch --force --tags origin
  else
    git fetch --force origin +refs/heads/master:refs/remotes/origin/master
  fi
fi
became this:
if [ "$existing_repo" = 'true' ] || [ 'true' = 'true' ]; then
  echo 'Fetching from remote repository'
  if [ -n "$CIRCLE_TAG" ]; then
    git fetch --force --tags origin
  else
    git fetch --force origin +refs/pull/630/head:refs/remotes/origin/pull/630
  fi
fi

dergutemoritz 2022-10-06T14:04:13.895029Z

That's a similar case in that it also uses the refs/pull thing

dergutemoritz 2022-10-06T14:04:27.065599Z

the only difference there is the PR ID

dergutemoritz 2022-10-06T14:04:49.012049Z

Ah, the whitespace push did the trick 👍

dergutemoritz 2022-10-06T14:05:03.359829Z

Now the check is failing with a legitimate error 🙂

valerauko 2022-10-06T14:05:54.419219Z

i kinda expected something like that to be necessary... that's why i opened https://github.com/clj-commons/aleph/issues/631

👍 1
Matthew Davidson 2022-10-06T14:07:30.056209Z

Build 200 is much, much older, but yeah, it has the same script and worked

dergutemoritz 2022-10-06T14:08:24.832639Z

@vale Does the failing check's output suffice to steer you to the solution? (curious because it's the first time it comes up 😄)

Matthew Davidson 2022-10-06T14:08:55.232499Z

It’s something new to support deps.edn

dergutemoritz 2022-10-06T14:09:30.437569Z

Right - I tried to make the error and hwo to resolve it self-explanatory 🤞

valerauko 2022-10-06T14:09:52.334809Z

I was confused by the "deps/lein-to-deps". I thought it meant lein deps or lein-to-deps, not realizing there's a deps folder

dergutemoritz 2022-10-06T14:10:08.973269Z

Ah, I see

Matthew Davidson 2022-10-06T14:10:12.707789Z

It feels like there should be a way to automate it, or at least automate the check, with git pre-commit or something

dergutemoritz 2022-10-06T14:10:36.320679Z

A bit too heavy for pre-commit

Matthew Davidson 2022-10-06T14:10:50.853339Z

How so?

valerauko 2022-10-06T14:10:53.656859Z

at work i have a lein alias that runs lein ancient upgrade and lein pom then all i need is run lein update-deps and it just does all the steps we use the pom.xml to get dependabot alerts, so it's a very similar workflow to this

dergutemoritz 2022-10-06T14:13:07.070169Z

@kingmob it involves two lein invocations which makes it too slow to run on every commit IMHO

Matthew Davidson 2022-10-06T14:13:38.073299Z

Hmmm, yeah, I didn’t know it was so slow

dergutemoritz 2022-10-06T14:14:49.716449Z

@vale Yeah it could be written as a Leiningen task instead and I started doing that initially but it became pretty unwieldy. Another option would be to invoke the shell script via Leiningen but that would add yet another heavy lein invocation 😬

dergutemoritz 2022-10-06T14:15:27.521229Z

FWIW, I also condidered babashaka but didn't want to add another external dependency because that's also quite unwieldy to do the way things are set up right now

valerauko 2022-10-06T14:17:13.745369Z

running it shouldn't be a common occurrence so just documenting it is fine imo

dergutemoritz 2022-10-06T14:17:18.235919Z

But I see how the error message can be misunderstood the way you did - making a note to improve it

Matthew Davidson 2022-10-06T14:17:26.785279Z

Can bb easily get the lein deps, regardless? How hard would it be to duplicate the output of lein pprint without lein?

dergutemoritz 2022-10-06T14:17:26.975989Z

@vale indeed!

dergutemoritz 2022-10-06T14:18:08.037849Z

@kingmob At that point I didn't yet have the epiphany of using lein pprint and would have implemented a good enough parser for the raw project.clj

Matthew Davidson 2022-10-06T14:18:17.678639Z

I don’t personally mind adding bb as a dep. It’s used in many of the CircleCI builds already, so it’s not a new depthere

Matthew Davidson 2022-10-06T14:18:31.957749Z

heh

valerauko 2022-10-06T14:18:33.340969Z

-        echo "ERROR: ${f} needs to be re-generated via deps/lein-to-deps" >&2
+        echo "ERROR: ${f} needs to be re-generated using the script \"deps/lein-to-deps\"" >&2

👍 1
dergutemoritz 2022-10-06T14:18:44.662009Z

Ah so the Clojure image we're using already has it? I assumed not. Well then, will keep it in mind 🙂

dergutemoritz 2022-10-06T14:19:08.525839Z

@vale lgtm! Feel free to include in your PR

Matthew Davidson 2022-10-06T14:22:01.128659Z

I don’t think it does, or if it does, I don’t think it’s kept up-to-date with the speed of bb development. Pretty sure slipset wrote a script to download the latest as needed

dergutemoritz 2022-10-06T14:24:15.792559Z

Ah yeah, that's the unwieldiness I didn't want to drag in 😄

dergutemoritz 2022-10-06T14:24:44.042819Z

At least in this particular case, given the lein pprint situation, it wouldn't have been worth it.

Matthew Davidson 2022-10-06T14:27:45.252179Z

I guess if it’s only needed when updating deps, we can live with it. Can we add a comment reminding us in the project.clj?

Matthew Davidson 2022-10-06T14:28:12.198179Z

Maybe in https://github.com/clj-commons/aleph/pull/632 ?

Matthew Davidson 2022-10-06T14:29:04.125279Z

Not just the CONTRIBUTING file, but inline with the deps themselves

👍 1
dergutemoritz 2022-10-06T14:30:14.553649Z

Certainly wouldn't hurt!

Matthew Davidson 2022-10-06T14:33:03.009989Z

@vale Do you want to continue working on CONTRIBUTING.md?

Matthew Davidson 2022-10-06T14:33:11.095919Z

Or is it done?

Matthew Davidson 2022-10-06T14:33:15.684069Z

(for now)

valerauko 2022-10-06T14:33:40.589989Z

for this PR i think so yeah. unless you want me to add anything dependency-update specific

Matthew Davidson 2022-10-06T14:35:08.813619Z

Nah, that’s ok

👍 1
dergutemoritz 2022-10-06T14:42:09.743849Z

@vale Great initiative! Left you some feedback on that one

👍 1
dergutemoritz 2022-10-06T15:01:45.242129Z

Merged! Two more to go and the shirt is yours 😄

dergutemoritz 2022-10-06T15:02:00.517399Z

Or your name on the tree, of course!

valerauko 2022-10-06T15:04:18.592849Z

haha, i've cleared the hacktoberfest bar on 10/1 already. i'm just happy to see aleph come back to life

Eugen 2022-10-06T19:23:20.156989Z

I was checking out Jetty the other day qnd saw they have a Conformance / HTTP compatibility information and I think even tests. Is there something like this for Aleph? a list of RFCs that aleph (tries) to conform with? Is there a TCK to check? is there prior work or interest in this direction?

Matthew Davidson 2022-10-07T03:46:43.481379Z

@eugen.stan I don’t believe there’s any such thing, but PRs would be welcome.

valerauko 2022-10-07T04:08:55.592989Z

I'm aware of https://github.com/summerwind/h2spec/ for http/2 and the apparently since-then-unmaintained https://github.com/kazu-yamamoto/h3spec/ for http/3 but I don't know of any for http/1.1

Matthew Davidson 2022-10-07T06:03:18.559619Z

Well, you know, we would like to support HTTP 2 and 3… 😉

Eugen 2022-10-07T06:06:12.612519Z

thanks for the info and the links. will check them out

valerauko 2022-10-07T06:19:34.457849Z

i have implemented http/2 before in clojure on top of netty so i can help with that. i also tried my hands at http/3 but their incubator project was too early at that time so i bailed. https://github.com/valerauko/iny

👍 2