clj-yaml

borkdude 2022-09-23T14:12:49.138419Z

@grzm Let's continue the discussion here. https://github.com/clj-commons/clj-yaml/pull/38#issuecomment-1256266147 Am I missing something?

grzm 2022-09-23T14:20:06.375619Z

Y'all choose. I chose the design I want, understanding the alternatives (even the one you proposed, @borkdude). I've provided my reasoning and believe I've addressed your concerns except for preference. I don't have anything to add. If the consensus of the maintainers is that you want something else, that's the way it should be.

borkdude 2022-09-23T14:23:54.870809Z

I think I agree 95% with your design, it's just that: • I think the name could resemble options in similar clojure libraries: unknown-tag-fn -> default-tag-fn • Positional arg functions have been known to be cumbersome to work with, if you want to add stuff to them later. So (fn [tag val] ...) => (fn [{:keys [tag val]}] ...) . Unless we're 100% certain that we will never add something to this, a map is the safe, boring choice.

borkdude 2022-09-23T14:31:06.445889Z

Perhaps @lee can have the final say and then I'll un-die on that hill as well.

borkdude 2022-09-23T14:33:45.610099Z

I'm just terrified of adding things that break and using maps has been a good way to prevent that, but maybe I'm exaggerating so I'll be ok with @lee having the final word

lread 2022-09-23T15:18:39.661169Z

Hiya, I’ll catch up in a bit and then share what I think. Hopefully it won’t be a 3rd opinion! simple_smile

😅 1
borkdude 2022-09-23T15:51:45.426429Z

I'd like to do a new bb release today, so I hope we can get this sorted out

👍 1
borkdude 2022-09-23T15:52:20.118499Z

(see #babashka-sci-dev)

lread 2022-09-23T16:05:00.163459Z

Sorry if any of this has already been sorted… …agree on no question marks on boolean keyword options… maybe more so for consistency… current clj-yaml keywords booleans do not have question marks… ex. mark unsafe

lread 2022-09-23T16:06:42.976899Z

..agree that option keywords do not need to be namespaced…

lread 2022-09-23T16:12:46.903739Z

…agree that positional args are less extensible/future-proof than a map arg. @grzm are positional args really important to you? Why so strong a position? (pun unintended)

lread 2022-09-23T16:16:22.509399Z

…think that unknown-tag-fn is probably more self-describing than default-tag-fn (unless maybe unless you are already familiar with similar clojure libraries?).

borkdude 2022-09-23T16:16:49.580919Z

OK, I think we solved it then.

borkdude 2022-09-23T16:18:44.871389Z

I hope I didn't piss off @grzm with my feedback...

lread 2022-09-23T16:20:03.778339Z

@grzm, this has been a bit of a long slog of a PR! I hope you still love us with all of your heart. ❤️

borkdude 2022-09-23T16:22:04.083859Z

He probably has more important stuff to do at StrangeLoop 😞

grzm 2022-09-23T16:23:56.765029Z

You're misunderstanding. I fear I'm being misunderstood: I don't have a strong position. I view this as a style thing. If my reasons aren't convincing (I believe they're clear), it's a preference thing, and it's up to the maintainers to decide what they want. I don't want to continue discussion that I don't think is worthwhile.

grzm 2022-09-23T16:24:44.664349Z

I've pushed a change which I believe reflects what y'all desire.

borkdude 2022-09-23T16:25:44.545939Z

@grzm I'm 100% satisfied now, thank you!

lread 2022-09-23T16:29:56.579999Z

Thanks @grzm!

lread 2022-09-23T16:33:21.303449Z

@borkdude are you thinking of cutting a clj-yaml release before snakeyaml 1.33? Or are you going to wait? (I don’t think I can really help Andrey with https://bitbucket.org/snakeyaml/snakeyaml/issues/556/update-yamlloadas-signature-to-support)

borkdude 2022-09-23T16:34:35.806379Z

I'd like to get the number fix in

👍 1
borkdude 2022-09-23T16:35:04.499089Z

but perhaps I should just do multiple bb releases shortly after one another then

borkdude 2022-09-23T16:38:31.359369Z

I'll wait a few hours

lread 2022-09-23T16:54:10.142869Z

I’ll hold off on https://github.com/clj-commons/clj-yaml/issues/47 until I hear back from @slipset. But I’d like to get back to this task, if just to finish it, then all also apply this work to my https://github.com/clj-commons/clj-http-lite/issues/65.

lread 2022-09-23T16:56:16.996809Z

And maybe even also apply it to etaoin and rewrite-clj for clj-commons tag triggered deploy consistency…

slipset 2022-09-23T17:01:33.651769Z

So I guess I have some sentimental attachment to Circle. They are/were a Clojure shop, and I’ve been enjoying getting help from and working with @marc-omorain over the years. Where Circle feels like a company, Github and their Actions feels like, eh, Microsoft 🙂

lread 2022-09-23T17:02:56.574699Z

No disagreement there!

slipset 2022-09-23T17:02:58.690359Z

The main reason we’ve been doing stuff with GA at work is exactly to update the github repo, since it feels weird that Circle should go about pushing stuff to github.

slipset 2022-09-23T17:04:54.700309Z

So we have amongst other things this:

name: Release

# Controls when the action will run. Workflow runs when manually triggered using the UI
# or API.
on:
  workflow_dispatch:
    # Inputs the workflow accepts.
    inputs:
      release_type:
        # Friendly description to be shown in the UI instead of 'name'
        description: 'Release type, valid values are major, minor, patch'
        # Default value if no value is explicitly provided
        default: 'patch'
        # Input has to be provided for the workflow to run
        required: true
      skip_tests:
        description: 'Should we skip tests on this release?'
        default: 'false'
        required: false
        
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  # This workflow contains a single job called "greet"
  release:
    # The type of runner that the job will run on
    runs-on: ubuntu-latest

    # Steps represent a sequence of tasks that will be executed as part of the job
    steps:
    - uses: actions/checkout@v2
    - name: setup_git
      run: |
          git config --global user.name '${{ github.actor }}'
          git config --global user.email '${{ github.actor }}@users.noreply.github.com'
    # Runs a single command using the runners shell
    - name: release
      run: ./release.sh ${{ github.event.inputs.release_type }}
    - name: push
      run: git push
at work, which gives us a shiny green button to do deploys from (with some input) from github. Which is nice, since we generally do the squash/merge thing in github.

slipset 2022-09-23T17:06:36.513499Z

@vemv’s nvd scanner from GA, since we can run it whenever PRs are changed and stuff

slipset 2022-09-23T17:07:21.319229Z

BTW having nvd set up on clj-commons projects would be really nice (and more welcome than switching all stuff to GA 🙂

vemv 2022-09-23T18:38:11.586969Z

that would be nice! feel free to @ me for the first few integrations. Please be pedantic (e.g. simply refer to the readme carefully) when setting these up :) often people don't, and end up getting issues (nowadays nvd is a little more proactive against misuse. But still!)

lread 2022-09-23T17:18:25.391849Z

Hmmm.. thinking… So what if clj-commons team documents what it prefers for its projects, and let the primary maintainers choose how to implement those? Maybe things like: • keep a changelog • tag releases • release invocable by maintainer from command line • document release flow and how to release • etc. I could help with this.

Marc O'Morain 2022-09-23T17:20:57.549259Z

@marc-omorain has joined the channel

lread 2022-09-23T17:22:12.506469Z

We could move this discussion to #clj-commons if that makes more sense.

👍 1
lread 2022-09-23T17:22:43.028159Z

Gotta run for now, but looking forward to thoughts on this!

cap10morgan 2022-09-23T18:23:25.785139Z

@cap10morgan has joined the channel

borkdude 2022-09-23T18:31:07.589869Z

@lee @grzm I merged the :unknown-tag-fn PR by resolving the conflicts locally. I needed to port some markdown to adoc in the process 😅

❤️ 1
borkdude 2022-09-23T18:31:17.144529Z

Thank you @grzm for your work!

vemv 2022-09-23T18:35:08.751949Z

@vemv has joined the channel

grzm 2022-09-23T19:07:47.254299Z

@borkdude Thanks for fixing up the conflicts! ❤️ Grabbing time at strangeloop has been challenging.

borkdude 2022-09-23T19:09:01.303199Z

@grzm I figured as much, so I did that boring task for you. Have fun! :)

🙏 1