Hi Francis,

I went over the workflows and rules and everything looks good to me. Great
work!

I'm +1 on merging this to master and I am OK with your suggestions about
Avatica.

Thanks a lot for moving this forward. It will certainly save us a lot
of time in the future.

When this goes in we need to update also our documentation. It will be a
good opportunity to test that everything is working properly.

Best,
Stamatis

On Wed, Mar 30, 2022, 7:50 AM Francis Chuang <francischu...@apache.org>
wrote:

> Forgot to mention in my last message, but I am now implementing the
> automation for calcite-avatica and calcite-avatica-go
>
> For those 2 repos, we never used a site branch as we usually push the
> site after a release. If there are any small updates to the site that
> occur after the release, we just built from master and pushed it as
> there is usually no unreleased updates to the docs due to avatica not
> having much updates. This is the same situation for avatica-go.
>
> Therefore, for calcite-avatica and calcite-avatica-go, I plan to:
> - Always build from master if there's an update to site.
> - For a release, build from master and build the javadocs and publish.
>
> I think this should we sufficient for our use-case for now and should
> improve the release process and site publishing process significantly.
> If we find edge cases in the future, we can deal with those at a later
> time.
>
> Please let me know what you guys think.
>
> Francis
>
> On 30/03/2022 4:21 am, Julian Hyde wrote:
> > I have never needed or wanted a versioned Javadoc URL for Calcite. Our
> APIs tend to grow over time.
> >
> > The only requirement I see is that we don’t pollute the javadoc/doc of
> the latest released version with things that are not yet released. Which
> would lead to two versions: latest release and head.
> >
> > I can see that the implementation might be simpler if we have multiple
> versions, but let’s be clear that that is not the requirement.
> >
> > Julian
> >
> >
> >> On Mar 29, 2022, at 6:49 AM, Fan Liya <liya.fa...@gmail.com> wrote:
> >>
> >> I think it is a good idea to provide versioned JavaDocs.
> >>
> >> However, even if we only provide the JavaDoc of the latest release,
> >> there is no need to maintain two branches (IMHO),
> >> because the processes of updating the website and JavaDoc are
> >> relatively separate processes (according to [1]).
> >> With a single branch, it is feasible to update the website regularly,
> >> and update JavaDocs only at release times.
> >>
> >> Best,
> >> Liya Fan
> >>
> >> [1]
> https://github.com/apache/calcite/blob/a6a1e2cef332893fd90286098869c56529e052c3/site/README.md
> >>
> >> Alessandro Solimando <alessandro.solima...@gmail.com> 于2022年3月29日周二
> 17:59写道:
> >>>
> >>> Hello everyone,
> >>> I totally agree on automating the website publication and having a
> single
> >>> branch, the less we do manually, the lower the chances to mess
> something up.
> >>>
> >>> I am also in favour of versioned docs in the website, it's confusing to
> >>> land on updated pages from an older context like a message from the ML.
> >>>
> >>> Best regards,
> >>> Alessandro
> >>>
> >>> On Tue, 29 Mar 2022 at 06:44, Francis Chuang <francischu...@apache.org
> >
> >>> wrote:
> >>>
> >>>> Hey Julian,
> >>>>
> >>>> All very good points. I can definitely see the utility of the
> javadocs.
> >>>> The analogue in Go would be godoc, with the difference being that the
> >>>> godoc server automatically crawls the code across all versions to
> >>>> generate the documentation.
> >>>>
> >>>> As an example, see the godoc for protobuf [1]. There is a version
> >>>> selector on the top left to look at the documentation for different
> >>>> versions of the module / library in question.
> >>>>
> >>>> You mentioned that you do not want to have a version string in the
> URL.
> >>>> Is there any particular reason for this? For example, if I were to end
> >>>> up on the mailing list archives through a google search and there's a
> >>>> message linking to the javadoc, it might be more helpful if the
> javadoc
> >>>> was linked to a particular version of the release so that the context
> >>>> around the discussion at the time makes more sense.
> >>>>
> >>>> We can have all javadocs for all releases of Calcite published and
> have
> >>>> a selector to jump between versions, similar to godoc, for example,
> like
> >>>> this javadoc for google cloud with a version selector on the bottom
> >>>> right [2]. This would allow users to switch between different versions
> >>>> and look at the version of the javadoc that's currently being used in
> >>>> their project.
> >>>>
> >>>> Regarding the documentation on the website itself, would it make sense
> >>>> if we have a versioned copy for each release? Currently, we only
> publish
> >>>> the documentation for the latest release, so, if we were to look at
> >>>> older messages from the mailing list and follow a link to the
> >>>> documentation, the documentation could be incorrect or not relevant to
> >>>> the message itself.
> >>>>
> >>>> Maybe we can have a folder for each release? For example:
> >>>> -
> >>>>
> calcite.apache.org/docs/1.30.0/adapter.html#jdbc-connect-string-parameters
> >>>> -
> >>>>
> calcite.apache.org/docs/1.29.0/adapter.html#jdbc-connect-string-parameters
> >>>>
> >>>> This would give each release their own documentation with a unique
> path.
> >>>> For the current unreleased version, we can still put it in version of
> >>>> the next release:
> >>>>
> calcite.apache.org/docs/1.31.0/adapter.html#jbc-connect-string-parameters
> >>>> and
> >>>> maybe have a message that says this is an unreleased version like
> >>>> elasticsearch [3]. Links to this release's javadoc would work before
> and
> >>>> after the release and would never break.
> >>>>
> >>>> The upside to this approach is that all documentation (even the
> >>>> unreleased version) is published immediately, but they are versioned,
> so
> >>>> there is no confusion. It also means that users of Calcite master
> would
> >>>> be able to look at the docs online. This also simplifies the
> deployment
> >>>> of site as we no longer need the site branch: the website can just be
> >>>> built from master.
> >>>>
> >>>> Francis
> >>>>
> >>>> [1] https://pkg.go.dev/google.golang.org/protobuf
> >>>> [2] https://googleapis.dev/java/google-cloud-asset/latest/index.html
> >>>> [3] https://www.elastic.co/guide/en/elastic-stack/master/index.html
> >>>>
> >
>

Reply via email to