Live data from Hacker News

Show HN: Hammerkit – Build Tool

github.com

11–16 of 16 posts

Re: Show HN: Hammerkit – Build Tool

#11

Looks nice. As someone unfamiliar with Make, can someone explain why YAML is a bad idea for something like this? My favorite part (unironically) is how this is written in TypeScript. Easier for me to contribute features and fixes.

Btw, you should add a JSON schema for the build.yaml data, so VSCode can provide auto completion. https://brunopaz.dev/blog/how-to-create-your-own-auto-comple...

Awesome, will do! Did use JSON schema before, but didn't know it can be used for yaml as well.

Re: Show HN: Hammerkit – Build Tool

#13
post #10

This looks very similar to https://taskfile.dev (Go, 3.5k stars).

Thats very true, I used taskfile personally and professionally for a few projects and encoutered some problems I tried to solve with this project. I even tried to contribute there, but it was not that easy, since I am not that fluent in go

I'm curious: what kind of problems?

Re: Show HN: Hammerkit – Build Tool

#14
post #10

Earlier quoted context omitted.

Thats very true, I used taskfile personally and professionally for a few projects and encoutered some problems I tried to solve with this project. I even tried to contribute there, but it was not that easy, since I am not that fluent in go

I'm curious: what kind of problems?

maybe problems is the wrong term, lets call it features I was missing.

  - without docker images in tasks tooling was not always the same on different machines
  - a docker image that can be used for gitlab ci
  - caching on CI systems was a huge effort, requiring to specify all .task directories and build directories
  - limited includes of other build files, no nesting or loops, making project style taskfiles not possible
  - the cwd of includes is not relative to the reference taskfile
and there are some, which are not solved yet in hammerkit, but planned:

  - detect changes in cwd during commands, for example with `cd ..`
  - a service definition, allowing to use databases with some healthchecks to detect startup delays
  - limiting cpu/memory of build steps / limiting tasks that are executed parallel by resource available

Re: Show HN: Hammerkit – Build Tool

#15
While we are at it. Does anybody have tips what is the best solution to ensure I get proper upgrades to my artifacts? Something like renovatebot or using OBS? What do you use? It feels like people I know are mistaking Docker as a dependency manager. But the fundamental problem must have been solved already at least by Linux distributions. I wonder how other people adopt this for their private repositories?

Re: Show HN: Hammerkit – Build Tool

#16

Looks nice. As someone unfamiliar with Make, can someone explain why YAML is a bad idea for something like this? My favorite part (unironically) is how this is written in TypeScript. Easier for me to contribute features and fixes.

You can create a DAG in yaml it's just that 99% of projects ignore creating a graph and just treat 'build rules' as an imperative script. The other problem with YAML-as-a-lang is eventually you need to express something that isn't just static key vals (see ansible) and turns into a quite a mess.
Post reply on HN