https://kotlinlang.org logo
#github-workflows-kt
Title
# github-workflows-kt
p

Piotr Krzemiński

08/18/2022, 8:44 PM
🚀 v0.25.0 released! The highlight of this release is moving away from handcrafting YAML, and delegating it to snakeyaml instead - the same library that's used in kaml. This way several known issues with invalid YAML got fixed, and the library became simpler. It will result in slight formatting changes of your output YAMLs, and hopefully no regressions 🙂
👍 2
you may want to wait with upgrading to v0.25.0 until it's fixed
@jmfayard @Nikky @LeoColman maybe you have a spare moment? ☝️ 🙏
n

Nikky

08/19/2022, 10:23 AM
i probably won't have to the time to decipher snakeyaml's source..
n

Nikky

08/19/2022, 12:13 PM
looks like what i came up with..
l

LeoColman

08/19/2022, 12:18 PM
You guys are uber quick!
I didn't even have time to see it
n

Nikky

08/19/2022, 12:30 PM
problem with that approach is.. snakeyaml will crash with a stackoverflow exception when dealing with any kind of recursiveness
as long as that is properly communicated / documented though..
p

Piotr Krzemiński

08/19/2022, 12:32 PM
Yeah, already pointed out by the author in the PR, I'll add a test for it
v

Vampire

08/20/2022, 12:40 PM
Kaml doesn't output anchors like that, so I'd guess it is possible with pure Snakeyaml too. I started to factor out my DAOs into a standalone lib, to eventually make it usable in your lib, just need a bunch more of tests for it and have limited time, but I just created a
Copy code
on:
  "pull_request": {}
  "push": {}
in a quick test without problem or special handling
p

Piotr Krzemiński

08/20/2022, 1:09 PM
To be frank, I'm still not convinced that kaml is the best choice here. I'd appreciate a PoC that would show how your DAOs would be used in the DSL lib
I find snakeyaml pretty convenient, not counting this anchors issue that's likely to be fixed soon-ish
v

Vampire

08/20/2022, 1:15 PM
Don't worry, I'm not just doing it for you 🙂
n

Nikky

08/21/2022, 10:38 AM
got no account on bitbucket.. and when i tried to import the mavne project into idea there were a few warnings about inability to resolve plugins.. what can i do to help ?
that means.. catching serialization in snakeyaml when it runs into recusion .. and throwing ? not sure i have the mental capacity for that today
p

Piotr Krzemiński

08/21/2022, 12:39 PM
Probably something along these lines. It's fine, no forcing from my side :) it would be cool to tackle it early next week so that the feature gets into their next release (also next week). I'll also try to find time for it, but no guarantees
What actually worries me most is snakeyaml's infrequent release schedule, like every half a year from what I've seen
Plan B is to temporarily copy snakeyaml's code into the DSL lib, with the feature added just to address the anchors issue. Then, promptly merging the PR in snakeyaml becomes less critical
fix is merged, I'll release it together with next usual release, that is probably on Friday
5 Views