I would be fine with that as well, yeah. It's more overall complexity
having to sync things, but then at least that extra complexity doesn't
concern the main Prometheus repo :)

On Tue, Aug 10, 2021 at 3:10 PM Augustin Husson <[email protected]>
wrote:

> Oh yeah, I like this idea ! Thanks Rob :).
>
> I think that would cover all concerns raised for the moment, right Julien
> and Julius ?
>
> I forgot to mention it, but yes of course Julien the prometheus web ui
> will use the local version of the codemirror-promql and won't use the npm
> package.
>
> Le mar. 10 août 2021 à 14:32, Rob Skillington <[email protected]> a
> écrit :
>
>> You could also follow the Kubernetes model where subdirectories of the
>> repository is mirrored to a second repository (either by CI or some other
>> infrastructure) and there the code is tagged.
>>
>> That way you still have a monorepo of all the code and can make single
>> changes across layers, but the releasing and other versioning aspect is
>> done in a separate repo (and potentially handling issues, etc too).
>>
>> This is how the k8s client is released separately even though the code
>> lives in the main k8s central repo alongside k8s API server, kubelet, etc.
>>
>> Rob
>>
>> On Tue, Aug 10, 2021 at 8:17 AM Augustin Husson <
>> [email protected]> wrote:
>>
>>> From my point of view, to have a different tag wasn't because I didn't
>>> want to wait for a Prometheus release.
>>>
>>> In fact, currently these repositories are for the moment quite in a
>>> maintenance mode. It just follows the changes of PromQL basically. So it's
>>> quite fine to wait for the Prometheus release to unleash any bugfixes /
>>> features.
>>>
>>> On my side, my concern regarding following the tag version of Prometheus
>>> is more we will release the npm package quite often with no changes. That's
>>> something weird to release a library with no changes.
>>>
>>> It is still interesting to create UI module to be able to share code
>>> between Thanos and Prometheus (I have made a proposal in this sense here
>>> <https://github.com/thanos-io/thanos/issues/3142#issuecomment-872999984>,
>>> which I think can be improved), but in that particular case, I think the
>>> changes will appear quite often and it will be one npm package that would
>>> contain all Prometheus module. ( a bit like angular is doing for example).
>>> So in that particular case, it makes sense to follow the tag of Prometheus.
>>>
>>> In this perspective, I could imagine that the PromQL editor is actually
>>> a Prometheus module, but then it will be a different npm package. I could
>>> leave with that, as long as it won't be the unique UI module.
>>>
>>> Another idea would be to release the npm package during the release
>>> process of Prometheus, but the version won't follow the tag, it will follow
>>> what is written in the npm package. So if the version didn't change between
>>> 2 Prometheus versions, then it won't release the npm package.
>>> Like that we don't have extra git tag, we don't release any extra
>>> version with no changes.
>>> WDYT about this last proposition ?
>>>
>>> Le mar. 10 août 2021 à 13:29, Julien Pivotto <[email protected]> a
>>> écrit :
>>>
>>>> Hello,
>>>>
>>>> I like the idea to combine them in one repository.
>>>>
>>>> I would rather see if we can use it "unversioned" inside
>>>> prometheus/prometheus and release it together with the Prometheus
>>>> releases for the outside world.
>>>>
>>>> My concerns are:
>>>>
>>>> - It would add an extra burden to release management if we add extra
>>>> steps or
>>>>   more packages
>>>> - I expect that some people actually build Prometheus from the tags and
>>>>   adding extra tags could break quite a few workloads. I do not think
>>>>   that building tags is a xkcd 1172 case https://xkcd.com/1172/
>>>>
>>>> Additionally, there has been interests in the past to have even more
>>>> UI modules available, e.g. for thanos.
>>>>
>>>> I know that it would be quite inconvenient to wait for a Prometheus
>>>> release to publish bugfixes for these, but:
>>>> 1) we release Prometheus quite often
>>>> 2) we should still try to minimize the code *not used* by Prometheus
>>>>   itself, so that bugfixes will more likely hit Prometheus as well.
>>>>
>>>> Regards,
>>>>
>>>> On 10 Aug 13:16, Julius Volz wrote:
>>>> > I like the idea. I want to make sure that having multiple tag formats
>>>> for
>>>> > differently-versioned subprojects (Prometheus itself and one or
>>>> multiple
>>>> > npm packages) doesn't cause any problems I don't foresee. It would be
>>>> great
>>>> > if people more familiar with the current Prometheus CI / build system
>>>> could
>>>> > give an opinion on that. CC-ing Julien as I think he has a decent
>>>> overview
>>>> > over that part, and he is also the default Prometheus server repo
>>>> > maintainer.
>>>> >
>>>> > On Tue, Aug 10, 2021 at 12:36 PM Augustin Husson <
>>>> [email protected]>
>>>> > wrote:
>>>> >
>>>> > > Hello fellow Prometheus developers :),
>>>> > >
>>>> > > As you probably know, in Prometheus, you have since a couple month
>>>> a great
>>>> > > PromQL editor (with autocomplete, linter, highlight feature) which
>>>> is for
>>>> > > the moment maintained in two separate repositories:
>>>> > >
>>>> > >    - prometheus-community/codemirror-promql
>>>> > >    <https://github.com/prometheus-community/codemirror-promql> that
>>>> > >    contains all the autocomplete / linter / highlight logic.
>>>> > >    - promlabs/lezer-promql <
>>>> https://github.com/promlabs/lezer-promql>
>>>> > >    that contains the PromQL grammar (web version)
>>>> > >
>>>> > > When a new feature enriched PromQL, the PR on Prometheus' side is
>>>> usually
>>>> > > modifying the backend and the documentation. But it doesn't change
>>>> the
>>>> > > PromQL editor since it's in two different repositories.
>>>> > > It's usually Julius or/and me that are putting back this feature,
>>>> creating
>>>> > > multiple PRs in these repositories, then releasing each to finally
>>>> be able
>>>> > > to create a single PR in prometheus/prometheus which usually just
>>>> changes
>>>> > > the version of codemirror-promql.
>>>> > >
>>>> > > This way worked for a couple of times because I was quite reactive
>>>> on the
>>>> > > PromQL features. And now we have the new function present_over_time
>>>> that is
>>>> > > going to be released in v2.29, and the editor is not yet aligned.
>>>> > > So it's proof (at least for me) that this model doesn't work /
>>>> scale.
>>>> > >
>>>> > > What I'm proposing (which is not new, actually Julien already
>>>> proposed a
>>>> > > long time ago), is to merge these two repositories in
>>>> prometheus/prometheus.
>>>> > > Like that when a PR is changing PromQL it will actually change:
>>>> > >
>>>> > >    - the backend
>>>> > >    - the docs
>>>> > >    - the frontend
>>>> > >
>>>> > > codemirror-promql is released as a npm package, and it is currently
>>>> used
>>>> > > by some third parties like Victoria Metrics for example.
>>>> > > I think we should keep it as a separate npm package. Which means it
>>>> won't
>>>> > > follow the same release process as Prometheus even if it's in the
>>>> same
>>>> > > repository.
>>>> > >
>>>> > > What we are proposing with Julius is to add a special tag like
>>>> *codemirror-promql-0.18.0
>>>> > > *that then will trigger a special pipeline to release this npm
>>>> package.
>>>> > >
>>>> > > Finally, the npm package is owned by me, so if you are ok to do
>>>> what is
>>>> > > proposed above, then I will transfer the ownership to Prometheus.
>>>> > >
>>>> > > WDYT ? Do you have any particular blocking point that would be
>>>> against
>>>> > > this repository migration ?
>>>> > >
>>>> > > Cheers,
>>>> > > Augustin.
>>>> > >
>>>> > > --
>>>> > > You received this message because you are subscribed to the Google
>>>> Groups
>>>> > > "Prometheus Developers" group.
>>>> > > To unsubscribe from this group and stop receiving emails from it,
>>>> send an
>>>> > > email to [email protected].
>>>> > > To view this discussion on the web visit
>>>> > >
>>>> https://groups.google.com/d/msgid/prometheus-developers/CAOJizGebmGjD3%2Bde%3Dzb3dGUSSoprV0zk3JdobpAmpQ%2BhFD7uiQ%40mail.gmail.com
>>>> > > <
>>>> https://groups.google.com/d/msgid/prometheus-developers/CAOJizGebmGjD3%2Bde%3Dzb3dGUSSoprV0zk3JdobpAmpQ%2BhFD7uiQ%40mail.gmail.com?utm_medium=email&utm_source=footer
>>>> >
>>>> > > .
>>>> > >
>>>> >
>>>> >
>>>> > --
>>>> > Julius Volz
>>>> > PromLabs - promlabs.com
>>>>
>>>> --
>>>> Julien Pivotto
>>>> @roidelapluie
>>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Prometheus Developers" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/prometheus-developers/CAOJizGfq8PD3CzonpyOMs%2B4O%3Dd65CtSd_3Jr%2ByT-ppk8Q-V_KQ%40mail.gmail.com
>>> <https://groups.google.com/d/msgid/prometheus-developers/CAOJizGfq8PD3CzonpyOMs%2B4O%3Dd65CtSd_3Jr%2ByT-ppk8Q-V_KQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>

-- 
Julius Volz
PromLabs - promlabs.com

-- 
You received this message because you are subscribed to the Google Groups 
"Prometheus Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/prometheus-developers/CAObpH5xAknrSJ7VTm3J1v8Br3G6iBYrG1GXa_mNhe5t3J%2BrFrQ%40mail.gmail.com.

Reply via email to