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>
>> .
>>
>

-- 
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/CAOJizGdrjqYTc1mVJwODDNtJOVDi4YM%2BDWNiMt9YBRAMyCOdGw%40mail.gmail.com.

Reply via email to