Thanks tison! It's better to a) update the contribution processes of docs, website content, and release notes [1] [2] [3] [4] [5] b) inform the community about this breaking change officially in another email (reminders for doc contributions)
~~~~~~~~ docs: [1] https://pulsar.apache.org/contribute/document-contribution/ [2] https://pulsar.apache.org/contribute/document-preview/#preview-documentation-changes [3] https://pulsar.apache.org/contribute/document-preview/#preview-website-changes release notes: [4] https://pulsar.apache.org/contribute/release-process/#update-the-site [5] https://pulsar.apache.org/contribute/release-note-guide/ On Thu, Dec 29, 2022 at 9:07 PM tison <wander4...@gmail.com> wrote: > The new repo is reduced by 100MB: > > $ gh repo clone apache/pulsar -- --single-branch --depth=1 > $ du -sh pulsar | sort -rh > 53M pulsar > > Best, > tison. > > > tison <wander4...@gmail.com> 于2022年12月29日周四 21:01写道: > > > Landed. > > > > Best, > > tison. > > > > > > tison <wander4...@gmail.com> 于2022年12月29日周四 17:51写道: > > > >> Here are the related PRs: > >> > >> * https://github.com/apache/pulsar/pull/19100 > >> * https://github.com/apache/pulsar-site/pull/348 > >> > >> Best, > >> tison. > >> > >> > >> tison <wander4...@gmail.com> 于2022年12月26日周一 21:45写道: > >> > >>> FYI tracking issue has been created: > >>> https://github.com/apache/pulsar/issues/19064 > >>> > >>> I plan to finish it by the end of next month. > >>> > >>> Best, > >>> tison. > >>> > >>> > >>> tison <wander4...@gmail.com> 于2022年12月21日周三 11:33写道: > >>> > >>>> Thanks for your feedback! > >>>> > >>>> @Yu > >>>> > >>>> Thanks for sharing the previous thread. I looped in @michaeljmarshall > >>>> here. > >>>> > >>>> @Jun > >>>> > >>>> It's possible but causes a new shortcoming: Now you should tell the > >>>> contributor that the versioned docs are different from the NEXT > version > >>>> docs, lol. > >>>> > >>>> If our developers don't complain about these separated sources. Like > @Asaf > >>>> comment: > >>>> > >>>> > We can take, let's say, five features and see if they were actually > >>>> done in > >>>> > the same PR or separate PR. I guess that most documentation is > >>>> actually > >>>> > updated separately. Thus, from that perspective, maybe it’s not a > con. > >>>> > >>>> Then we can do this refactor thoroughgoing. > >>>> > >>>> Also, if we keep, somehow several sources in the main repo. We still > >>>> have shortcomings: > >>>> > >>>> 1. Duplicated CI workflows. > >>>> 2. Cumbersome preview scaffolding in the main repo. > >>>> > >>>> ... which is the original purpose I'd like to overcome. > >>>> > >>>> Best, > >>>> tison. > >>>> > >>>> > >>>> Jun Ma <momoma...@hotmail.com> 于2022年12月21日周三 11:19写道: > >>>> > >>>>> Is it possible to come up with a compromised solution that has the > >>>>> pros of both sides but minimizes the side effect? I'm thinking maybe > it's > >>>>> not necessary to sacrifice the current contribution process, as long > as it > >>>>> can greatly reduce the load of back-end actions and source size. For > >>>>> example, if we only move out the versioned docs to the site repo but > keep > >>>>> the source of the NEXT docs in the pulsar repo, does this help to > win a > >>>>> large proportion of those pros when people can still contribute as > usual? > >>>>> > >>>>> ________________________________ > >>>>> From: Jiaqi Shen <gleiphir2...@gmail.com> > >>>>> Sent: Tuesday, December 20, 2022 17:15 > >>>>> To: dev@pulsar.apache.org <dev@pulsar.apache.org> > >>>>> Subject: Re: [PROPOSAL] Website precommit and move the source of docs > >>>>> to the site repo > >>>>> > >>>>> +1, it makes sense to me. > >>>>> > >>>>> Thanks, > >>>>> Jiaqi Shen > >>>>> > >>>>> > >>>>> Yu <li...@apache.org> 于2022年12月19日周一 20:57写道: > >>>>> > >>>>> > Hi tison, > >>>>> > > >>>>> > Thanks for raising this up! > >>>>> > > >>>>> > Our community had a similar discussion previously and chose to > >>>>> "keep" the > >>>>> > doc repo stay in the Pulsar main repo at that time. > >>>>> > > >>>>> > [1] lists the pros and cons of "keep" and "not keep" solutions. > >>>>> > > >>>>> > I'm +0 on this proposal because I think the total scores of these > two > >>>>> > solutions are almost equal after weighing the pros and cons. > >>>>> > > >>>>> > ~~~~~~~~~~~~~~~~~~~~ > >>>>> > > >>>>> > [1] > https://lists.apache.org/thread/mf2xwntfgn84dq78ksqv22jk3drq6xb3 > >>>>> > > >>>>> > > >>>>> > On Mon, Dec 19, 2022 at 5:40 PM tison <wander4...@gmail.com> > wrote: > >>>>> > > >>>>> > > Thanks for your feedback! > >>>>> > > > >>>>> > > @Asaf > >>>>> > > > >>>>> > > > pre-commit > >>>>> > > > >>>>> > > I mean CI checks before merging a patch. Currently, we don't run > >>>>> checks > >>>>> > for > >>>>> > > the content before merging them. This causes a series of syntax > >>>>> errors > >>>>> > and > >>>>> > > broken links issues. If we hold docs under site2 folder in the > >>>>> main repo > >>>>> > > and then copied to the site repo, we have two places to build > such > >>>>> CI > >>>>> > > checks. What's worse, the checks for the main repo will be quite > >>>>> > > cumbersome (that you do some if-else logic in the whole Pulsar CI > >>>>> > > workflows, and do the sync sequentially in that workflow). > >>>>> > > > >>>>> > > If we hold the source of docs only in the site repo, we can > extend > >>>>> the > >>>>> > > "precommit" workflow[1] I added recently to check for syntax > >>>>> errors and > >>>>> > > broken links also. > >>>>> > > > >>>>> > > > What does the apache/pulsar-site repo contain today? > >>>>> > > > >>>>> > > It should be covered by the documentation guide page[2]. It holds > >>>>> the > >>>>> > > source of the official website and the user docs are synced from > >>>>> the main > >>>>> > > repo. > >>>>> > > > >>>>> > > > What content do we have today in the pulsar repo related to the > >>>>> site? > >>>>> > > > >>>>> > > After issue-18014[3] is done, we host only user docs and some > JSON > >>>>> > metadata > >>>>> > > in the main repo, which is synced by site_syncer.py[4]. > >>>>> > > > >>>>> > > > Can you explain that better? Are you saying pulsar source JARs > >>>>> contain > >>>>> > > the documentation? > >>>>> > > > >>>>> > > No. Source JARs contain only the Java files and necessary > >>>>> copyrights > >>>>> > info. > >>>>> > > The source release is, for example, > >>>>> > > > >>>>> > > > >>>>> > > >>>>> > https://archive.apache.org/dist/pulsar/pulsar-2.10.2/apache-pulsar-2.10.2-src.tar.gz > >>>>> > > , > >>>>> > > which is extracted to 173M where 129M is occupied by the site2 > >>>>> folder. > >>>>> > > > >>>>> > > This also affects when developers do git clone to clone the repo. > >>>>> > > > >>>>> > > > I mean, if you wish to document a bug fix in 2.9.x, for > example, > >>>>> would > >>>>> > > you do it in the 2.9.x branch under site2/docs or > >>>>> > > site2/website/versioned_docs/2.9.5? > >>>>> > > > >>>>> > > This is another question. Ideally, we should have hosted > versioned > >>>>> docs > >>>>> > > associated with the specific version to that branch, like Apache > >>>>> Flink > >>>>> > does > >>>>> > > as I mentioned[5]. But we do not, and actually the situation is > we > >>>>> update > >>>>> > > the versioned docs under the master branch and thus, the docs can > >>>>> be > >>>>> > synced > >>>>> > > properly. > >>>>> > > > >>>>> > > See also the "Alternatives" section in the original email. > >>>>> > > > >>>>> > > @All > >>>>> > > > >>>>> > > Since we don't have objections to the possible cons listed above > >>>>> or any > >>>>> > new > >>>>> > > ones, I'm going to create a tracking issue later this week and > >>>>> show what > >>>>> > > will be changed in PRs for further review. > >>>>> > > > >>>>> > > Best, > >>>>> > > tison. > >>>>> > > > >>>>> > > [1] > >>>>> > > > >>>>> > > > >>>>> > > >>>>> > https://github.com/apache/pulsar-site/blob/f7abc615d57d9846ed093922d24bff952dc0e838/.github/workflows/ci-precommit.yml > >>>>> > > [2] > >>>>> > > > >>>>> > > > >>>>> > > >>>>> > https://pulsar.apache.org/contribute/document-contribution/#source-repositories > >>>>> > > [3] https://github.com/apache/pulsar/issues/18014 > >>>>> > > [4] > >>>>> > > > >>>>> > > > >>>>> > > >>>>> > https://github.com/apache/pulsar-site/blob/f7abc615d57d9846ed093922d24bff952dc0e838/tools/pytools/lib/execute/site_syncer.py > >>>>> > > [5] https://github.com/apache/flink/tree/master/docs > >>>>> > > > >>>>> > > > >>>>> > > PengHui Li <peng...@apache.org> 于2022年12月19日周一 16:26写道: > >>>>> > > > >>>>> > > > +1 > >>>>> > > > > >>>>> > > > I support moving them to the website repo. > >>>>> > > > > >>>>> > > > Thanks, > >>>>> > > > Penghui > >>>>> > > > > >>>>> > > > On Mon, Dec 19, 2022 at 12:04 PM Yunze Xu > >>>>> <y...@streamnative.io.invalid > >>>>> > > > >>>>> > > > wrote: > >>>>> > > > > >>>>> > > > > +1. The most significant point to me is that we can preview > >>>>> all the > >>>>> > > > > content of the website without synchronizing contents from > the > >>>>> > > > > apache/pulsar repo. > >>>>> > > > > > >>>>> > > > > Thanks, > >>>>> > > > > Yunze > >>>>> > > > > > >>>>> > > > > On Mon, Dec 19, 2022 at 9:53 AM Li Li <urf...@apache.org> > >>>>> wrote: > >>>>> > > > > > > >>>>> > > > > > +1, That’s a good idea. > >>>>> > > > > > > >>>>> > > > > > > On Dec 16, 2022, at 07:07, tison <wander4...@gmail.com> > >>>>> wrote: > >>>>> > > > > > > > >>>>> > > > > > > Hi, > >>>>> > > > > > > > >>>>> > > > > > > After several works around the build flow of our official > >>>>> > > > > website[1][2][3], > >>>>> > > > > > > the content sync and site build flow is debuggable and > >>>>> > reproducible > >>>>> > > > > now. > >>>>> > > > > > > > >>>>> > > > > > > However, compared to other Apache projects' websites' > >>>>> project > >>>>> > > layouts > >>>>> > > > > and > >>>>> > > > > > > workflow, we still meet two challenges on the Pulsar > site: > >>>>> > > > > > > > >>>>> > > > > > > 1. We don't have a pre-commit workflow for any > >>>>> website-related > >>>>> > > > changes. > >>>>> > > > > > > Thus, we don't detect broken links or syntax errors when > >>>>> > reviewing > >>>>> > > > new > >>>>> > > > > > > patches[4][5][6]. > >>>>> > > > > > > 2. The website's content is two-level down in > >>>>> > `site2/website-next` > >>>>> > > > for > >>>>> > > > > > > historical reasons, which is confusing for contributors. > >>>>> > > > > > > > >>>>> > > > > > > To overcome these two shortcomings, I propose the > >>>>> following: > >>>>> > > > > > > > >>>>> > > > > > > 1. Move the website's content to the root level, then we > >>>>> have a > >>>>> > > > > first-class > >>>>> > > > > > > Docu&yarn-based JS project layout. It's more convenient > and > >>>>> > > familiar > >>>>> > > > to > >>>>> > > > > > > related developers. > >>>>> > > > > > > 2. Host the source of docs in the site repo > >>>>> (apache/pulsar-site) > >>>>> > > > > instead of > >>>>> > > > > > > under `site2` folder in the main repo and do content > sync. > >>>>> > > > > > > > >>>>> > > > > > > Below are the pros and cons: > >>>>> > > > > > > > >>>>> > > > > > > Pros > >>>>> > > > > > > > >>>>> > > > > > > 1. Obviously, we have the pre-commit workflow now. And > >>>>> since we > >>>>> > > host > >>>>> > > > > the > >>>>> > > > > > > source of docs in one repo, we don't have to run the > >>>>> pre-commit > >>>>> > > > > workflow in > >>>>> > > > > > > two places, which can be quite cumbersome to implement. > >>>>> > > > > > > 2. The size of the source release of the main repo can be > >>>>> > reduced a > >>>>> > > > > lot. > >>>>> > > > > > > Currently, 63MB out of 140MB of the sources are taken by > >>>>> the > >>>>> > site2 > >>>>> > > > > folder, > >>>>> > > > > > > which we can remove totally. In addition, we carry out > >>>>> > > full-versioned > >>>>> > > > > docs > >>>>> > > > > > > every release. > >>>>> > > > > > > 3. We can clean up a large portion of "integration" to > >>>>> debug the > >>>>> > > site > >>>>> > > > > > > brittlely on the main repo[7] (etc.) and redundant > >>>>> contribution > >>>>> > > > > guide[8]. > >>>>> > > > > > > This way, when updating docs, we can preview the result > in > >>>>> one > >>>>> > repo > >>>>> > > > > instead > >>>>> > > > > > > of actually doing the sync on the fly. In addition, this > >>>>> > > integration > >>>>> > > > > blocks > >>>>> > > > > > > we move the website content to the top level since it > makes > >>>>> > strong > >>>>> > > > > > > assumptions about the relative layout. > >>>>> > > > > > > > >>>>> > > > > > > Cons > >>>>> > > > > > > > >>>>> > > > > > > The most significant con is that we cannot update the > code > >>>>> and > >>>>> > docs > >>>>> > > > in > >>>>> > > > > one > >>>>> > > > > > > patch against apache/pulsar now. You must open a new pull > >>>>> request > >>>>> > > to > >>>>> > > > > > > apache/pulsar-site, cross-reference each other and manage > >>>>> the > >>>>> > merge > >>>>> > > > > order > >>>>> > > > > > > (synchronization). > >>>>> > > > > > > > >>>>> > > > > > > Alternatives: > >>>>> > > > > > > > >>>>> > > > > > > To resolve the versioned docs issue, an alternative is to > >>>>> host > >>>>> > only > >>>>> > > > the > >>>>> > > > > > > user docs along with each version, like Flink does[9]. > But > >>>>> it > >>>>> > both > >>>>> > > > > detaches > >>>>> > > > > > > from the Docu framework and requires significant > >>>>> development > >>>>> > > efforts. > >>>>> > > > > > > > >>>>> > > > > > > Since it can explicitly change the development flow (that > >>>>> is, you > >>>>> > > > > should > >>>>> > > > > > > now update docs separately), I am starting this > discussion > >>>>> here > >>>>> > to > >>>>> > > > > reach > >>>>> > > > > > > for your feedback. > >>>>> > > > > > > > >>>>> > > > > > > Welcome to leave your comments! > >>>>> > > > > > > > >>>>> > > > > > > Best, > >>>>> > > > > > > tison. > >>>>> > > > > > > > >>>>> > > > > > > [1] https://pulsar.apache.org/ > >>>>> > > > > > > [2] https://github.com/apache/pulsar-site > >>>>> > > > > > > [3] https://github.com/apache/pulsar/issues/18014 > >>>>> > > > > > > [4] https://github.com/apache/pulsar/issues/17599 > >>>>> > > > > > > [5] > >>>>> > > > > >>>>> https://github.com/apache/pulsar/pull/17863#discussion_r990174850 > >>>>> > > > > > > [6] > >>>>> > > > > >>>>> https://github.com/apache/pulsar/pull/17853#discussion_r991803704 > >>>>> > > > > > > [7] > >>>>> > > > > > > > >>>>> > > > > > >>>>> > > > > >>>>> > > > >>>>> > > >>>>> > https://github.com/apache/pulsar/blob/b1f9e351fa4d5aba197d33cfc0c536516b55b61f/site2/website/start.sh > >>>>> > > > > > > [8] > >>>>> > > > > > > > >>>>> > > > > > >>>>> > > > > >>>>> > > > >>>>> > > >>>>> > https://pulsar.apache.org/contribute/document-preview/#preview-documentation-changes > >>>>> > > > > > > [9] https://github.com/apache/flink/tree/master/docs > >>>>> > > > > > > >>>>> > > > > > >>>>> > > > > >>>>> > > > >>>>> > > >>>>> > >>>> >