GitHub releases do have a prerelease/rc status that can be activated. Maybe that could be used as an indicator to not include theses on the exchange site?
Sarah Gilmore <sgilm...@mathworks.com.invalid> schrieb am Fr., 10. Nov. 2023, 21:06: > Hi Raúl, > > > Currently all the binaries are generated on the third step of the > > Release process [1] when we run `03-binary-submit.sh`. The crossbow > > job could build the MLTBX artifact and then when we do download the > > other binaries (`04-binary-download.sh`) we should also download the > > MTLBX and when we submit the rest to jfrog (`05-binary-upload.sh`) we > > could Upload MLTBX to GitHub Releases for apache-arrow-X.Y.Z-rcN. > > Thanks for clarifying how these scripts work together. This all makes > sense. Our one concern is that the Arrow-MATLAB File Exchange entry would > be automatically updated to show release candidates that have been uploaded > to apache/arrow's GitHub Releases area. We're looking into how to prevent > this from happening. > > Best, > > Sarah Gilmore > > ________________________________ > From: Raúl Cumplido <rau...@apache.org> > Sent: Friday, November 10, 2023 1:11 PM > To: Raúl Cumplido <rau...@apache.org> > Cc: Sutou Kouhei <k...@clear-code.com>; dev@arrow.apache.org < > dev@arrow.apache.org>; Lei Hou <lei...@mathworks.com>; Sarah Gilmore < > sgilm...@mathworks.com> > Subject: Re: [DISCUSS][MATLAB] Proposal for incremental point releases of > the MATLAB interface > > In case it was not clear, even though the binary job is run on > ursacomputing/crossbow when we upload the binaries and create the > Release that should be, at least in my opinion, an apache/arrow > release. > > Both for the steps: > 1. RC: Upload MLTBX to GitHub Releases for apache-arrow-X.Y.Z-rcN > and > 2.2 Upload it to GitHub Releases for apache-arrow-X.Y.Z > > El vie, 10 nov 2023 a las 19:02, Raúl Cumplido (<rau...@apache.org>) > escribió: > > > > Hi Sara, > > > > El vie, 10 nov 2023 a las 18:48, Sarah Gilmore > > (<sgilm...@mathworks.com.invalid>) escribió: > > > > > > Hi Kou, > > > > > > > We can use apache/arrow's GitHub Releases. The release > > > > distribution document says that we can use GitHub as a > > > > release platform: > > > > https://infra.apache.org/release-distribution.html#other-platforms< > https://infra.apache.org/release-distribution.html#other-platforms> > > > > > > > > apache/arrow doesn't use GitHub Releases yet but > > > > apache/arrow-adbc and apache/arrow-flight-sql-postgresql > > > > already use GitHub Releases. (We just use "gh release > > > > upload" to upload our artifacts to GitHub Releases.) > > > > > > Thank you for clarifying that we can use apache/arrow's GitHub > Releases area for hosting the MLTBX file. We assumed we couldn't use the > main repository, but it's great to hear we can! > > > > > > > BTW, how does File Exchange "Connecting to GitHub Repositories"? > > > > > https://www.mathworks.com/matlabcentral/content/fx/about.html#Why_GitHub > > > > > > > > Does it just use "polling"? Or do we need to install any > > > > GitHub App, set secret variable or something on > > > > apache/arrow? If the latter, we need to ask INFRA to do it. > > > > > > We are currently consulting with the development team responsible for > the GitHub <-> File Exchange integration. We'll send a followup email with > a concrete answer once we know more. > > > > > > > If we use GitHub Releases on apache/arrow, we can use the > > > > following workflow. We don't need to use JFrog. > > > > > > > > 1. RC: Upload MLTBX to GitHub Releases for apache-arrow-X.Y.Z-rcN > > > > 2. Release: Run a post release script that would: > > > > 2.1 Download MLTBX from GitHub Releases for apache-arrow-X.Y.Z-rcN > > > > 2.2 Upload it to GitHub Releases for apache-arrow-X.Y.Z > > > > 2.3 Linked File Exchange entry will be automatically updated > > > > > > This seems like a much more streamlined approach. Not having to upload > to JFrog will make things easier. Thanks for the suggestion! > > > > > > To clarify, in step 1, would we upload the MLTBX to > ursacomputing/crossbow's GitHub Releases area [1]? Or, would we upload to > apache/arrow's GitHub Releases area? If we upload release candidates to > apache/arrow's GitHub Releases area, they would get automatically linked to > the File Exchange. Ideally, we wouldn't want users to download release > candidates. > > > > > > > Currently all the binaries are generated on the third step of the > > Release process [1] when we run `03-binary-submit.sh`. The crossbow > > job could build the MLTBX artifact and then when we do download the > > other binaries (`04-binary-download.sh`) we should also download the > > MTLBX and when we submit the rest to jfrog (`05-binary-upload.sh`) we > > could Upload MLTBX to GitHub Releases for apache-arrow-X.Y.Z-rcN. > > > > Once the release is approved and we do the post-release tasks to > > "officially" release, we would download the MLTBX and upload to the > > new GitHub Releases for apache-arrow-X.Y.Z this can be done as another > > step on our post-release tasks (post-xx-matlab.sh) > > > > [1] > https://arrow.apache.org/docs/developers/release.html#build-source-and-binaries-and-submit-them > < > https://arrow.apache.org/docs/developers/release.html#build-source-and-binaries-and-submit-them > > > > > > > > We can use GitHub Releases as I said. But if we use GitHub > > > > Releases, the release notes on GitHub Releases may include > > > > not only the MATLAB interface but also all > > > > implementations. It may not be useful for this use case. > > > > > > > > FYI: The R bindings have their release notes under > > > > https://arrow.apache.org/docs/r/<https://arrow.apache.org/docs/r> . > See > > > > https://arrow.apache.org/docs/r/news/< > https://arrow.apache.org/docs/r/news> . > > > > > > We think it would still be useful to link to the GitHub release notes > from the File Exchange entry even if it includes notes for all language > bindings. The File Exchange <-> GitHub integration just includes a link to > the GitHub release notes under the Version History tab. If we find having a > more focused version of the release notes would be useful, then we can > create a markdown file analogous to the NEWS.md for the R bindings as you > suggested (thanks or pointing this out). > > > > > > [1] https://github.com/ursacomputing/crossbow/releases< > https://github.com/ursacomputing/crossbow/releases> > > > > > > Thanks for all your help! > > > > > > Best, > > > > > > Sarah Gilmore > > > ________________________________ > > > From: Sutou Kouhei <k...@clear-code.com> > > > Sent: Thursday, November 9, 2023 7:50 PM > > > To: dev@arrow.apache.org <dev@arrow.apache.org> > > > Cc: Sarah Gilmore <sgilm...@mathworks.com>; Lei Hou < > lei...@mathworks.com> > > > Subject: Re: [DISCUSS][MATLAB] Proposal for incremental point releases > of the MATLAB interface > > > > > > Hi, > > > > > > > One open question about this approach: which GitHub > > > > repository should we use for hosting the MLTBX via GitHub > > > > Releases? > > > > > > > > We don't think using the main apache/arrow GitHub Releases > > > > area is the right approach. So, would it make sense to > > > > create a separate "bridge" repository just for hosting the > > > > latest MLTBX files? Should this be an ASF associated > > > > repository like apache/arrow-matlab or would a MathWorks > > > > associated repository like mathworks/arrow-matlab be OK? > > > > We aren't sure what makes the most sense here, but welcome > > > > any suggestions. > > > > > > We can use apache/arrow's GitHub Releases. The release > > > distribution document says that we can use GitHub as a > > > release platform: > > > https://infra.apache.org/release-distribution.html#other-platforms< > https://infra.apache.org/release-distribution.html#other-platforms>< > https://infra.apache.org/release-distribution.html#other-platforms< > https://infra.apache.org/release-distribution.html#other-platforms>> > > > > > > apache/arrow doesn't use GitHub Releases yet but > > > apache/arrow-adbc and apache/arrow-flight-sql-postgresql > > > already use GitHub Releases. (We just use "gh release > > > upload" to upload our artifacts to GitHub Releases.) > > > > > > BTW, how does File Exchange "Connecting to GitHub Repositories"? > > > > https://www.mathworks.com/matlabcentral/content/fx/about.html#Why_GitHub > > > > > > Does it just use "polling"? Or do we need to install any > > > GitHub App, set secret variable or something on > > > apache/arrow? If the latter, we need to ask INFRA to do it. > > > > > > If we use GitHub Releases on apache/arrow, we can use the > > > following workflow. We don't need to use JFrog. > > > > > > 1. RC: Upload MLTBX to GitHub Releases for apache-arrow-X.Y.Z-rcN > > > 2. Release: Run a post release script that would: > > > 2.1 Download MLTBX from GitHub Releases for apache-arrow-X.Y.Z-rcN > > > 2.2 Upload it to GitHub Releases for apache-arrow-X.Y.Z > > > 2.3 Linked File Exchange entry will be automatically updated > > > > > > > > > > File Exchange entries have a "Version History" which > > > > includes release notes from the "backing" GitHub Releases > > > > area. So, this would probably be a sensible location to > > > > put the release notes. > > > > > > We can use GitHub Releases as I said. But if we use GitHub > > > Releases, the release notes on GitHub Releases may include > > > not only the MATLAB interface but also all > > > implementations. It may not be useful for this use case. > > > > > > FYI: The R bindings have their release notes under > > > https://arrow.apache.org/docs/r/<https://arrow.apache.org/docs/r/>< > https://arrow.apache.org/docs/r<https://arrow.apache.org/docs/r>> . See > > > https://arrow.apache.org/docs/r/news/< > https://arrow.apache.org/docs/r/news/>< > https://arrow.apache.org/docs/r/news<https://arrow.apache.org/docs/r/news>> > . > > > > > > > Also, including MATLAB updates in > > > > Apache Arrow release blog posts > > > > (e.g. https://arrow.apache.org/blog/2023/11/01/14.0.0-release/< > https://arrow.apache.org/blog/2023/11/01/14.0.0-release>< > https://arrow.apache.org/blog/2023/11/01/14.0.0-release< > https://arrow.apache.org/blog/2023/11/01/14.0.0-release>>) > > > > may also be helpful. > > > > > > Yes. We should do it. :-) > > > > > > > > > Thanks, > > > -- > > > kou > > > > > > In < > mn2pr05mb6496df713e917c66e30ab50cae...@mn2pr05mb6496.namprd05.prod.outlook.com > > > > > "Re: [DISCUSS][MATLAB] Proposal for incremental point releases of the > MATLAB interface" on Wed, 8 Nov 2023 20:44:10 +0000, > > > Kevin Gurney <kgur...@mathworks.com.INVALID> wrote: > > > > > > > Hi Kou and Dewey, > > > > > > > > Thank you very much for your very thorough and detailed responses to > all of our questions. This is extremely valuable feedback and the points > that you made make alot of sense. > > > > > > > > Sarah and I talked this over a bit more and we think that sticking > with the overall apache/arrow project release cycle (i.e. stay in line with > 15.0.0) makes the most sense in the long term. > > > > > > > > @Dewey - thanks very much for highlighting the pros and cons of > creating a separate repository. We also really appreciate the community > being willing to try and support our development needs. That being said, we > think it is probably best to stay in-model with the main apache/arrow > release process for the time being rather than creating a separate > repository for the MATLAB interface. > > > > > > > > To address some related points and questions: > > > > > > > >> Can we just mention "This is not stable yet!!!" in the > documentation instead of using isolated version? > > > > > > > > Yes. This is good point and we already have a disclaimer in the > README.md [1] for the MATLAB interface which says: "Warning The MATLAB > interface is under active development and should be considered > experimental." > > > > > > > >> It's better that we use CI for this like other binary packages such > as .deb/.rpm/.wheel/.jar/... > > > > > > > > This makes sense and we agree. We will follow up with PRs to add the > necessary MATLAB packaging scripts and CI workflow files. > > > > > > > >> Does the MLTBX file include Apache Arrow C++ binaries too like > .wheel/.jar? > > > > > > > > Yes. The MLTBX file will package the Apache Arrow C++ binaries, > similar to the Java JARs / Python wheels. > > > > > > > >> MATLAB doesn't provide the official package repository such as PyPI > for Python and https://rubygems.org/<https://rubygems.org>< > https://rubygems.org<https://rubygems.org>> for Ruby, right? > > > > > > > > The equivalent to pypi.org or rubygems.org for MATLAB would be the > MathWorks File Exchange [2]. > > > > > > > >> If the official package repository for MATLAB doesn't exist, JFrog > is better because the MLTBX file will be large (Apache Arrow C++ binaries > are large). > > > > > > > > As noted above, the "official package repository" for MATLAB would > be the MathWorks File Exchange. File Exchange has tight integration with > GitHub [3]. When a new release is available in GitHub Releases, the > associated File Exchange entry will be automatically updated. > > > > > > > > We believe we could leverage this integration between File Exchange > and GitHub Releases to automate the MATLAB interface release process. This > approach might look like: > > > > > > > > 1. Upload MLTBX to JFrog Artifactory > > > > 2. Run a post release script that would: > > > > 2.1 Download MLTBX from JFrog Artifactory > > > > 2.2 Upload to GitHub Releases (e.g. apache/arrow-matlab - see > discussion below) > > > > 2.3 Linked File Exchange entry will be automatically updated > > > > > > > > One open question about this approach: which GitHub repository > should we use for hosting the MLTBX via GitHub Releases? > > > > > > > > We don't think using the main apache/arrow GitHub Releases area is > the right approach. So, would it make sense to create a separate "bridge" > repository just for hosting the latest MLTBX files? Should this be an ASF > associated repository like apache/arrow-matlab or would a MathWorks > associated repository like mathworks/arrow-matlab be OK? We aren't sure > what makes the most sense here, but welcome any suggestions. > > > > > > > >> We may want to use the status page for it: > https://arrow.apache.org/docs/status.html< > https://arrow.apache.org/docs/status.html>< > https://arrow.apache.org/docs/status.html< > https://arrow.apache.org/docs/status.html>> > > > > > > > > Thanks for highlighting this. This makes sense, and we can follow up > with a PR to add MATLAB to the status page. > > > > > > > >> How about creating https://arrow.apache.org/docs/matlab/< > https://arrow.apache.org/docs/matlab><https://arrow.apache.org/docs/matlab > <https://arrow.apache.org/docs/matlab>> ? We can use Sphinx like the > Python docs https://arrow.apache.org/docs/python/< > https://arrow.apache.org/docs/python><https://arrow.apache.org/docs/python > <https://arrow.apache.org/docs/python>> or another documentation tools > like the R docs https://arrow.apache.org/docs/r/< > https://arrow.apache.org/docs/r/><https://arrow.apache.org/docs/r/< > https://arrow.apache.org/docs/r/>> . If we use Sphinx, we can create > https://github.com/apache/arrow/tree/main/docs/source/matlab/< > https://github.com/apache/arrow/tree/main/docs/source/matlab>< > https://github.com/apache/arrow/tree/main/docs/source/matlab< > https://github.com/apache/arrow/tree/main/docs/source/matlab>> > > > > > > > > This makes sense and eventually we want to have comprehensive > documentation in line with other language bindings using Sphinx. In > addition to comprehensive documentation, we were also hoping that we could > host release notes in a place that is easily accessible from the MLTBX > download location. File Exchange entries have a "Version History" which > includes release notes from the "backing" GitHub Releases area. So, this > would probably be a sensible location to put the release notes. Also, > including MATLAB updates in Apache Arrow release blog posts (e.g. > https://arrow.apache.org/blog/2023/11/01/14.0.0-release/< > https://arrow.apache.org/blog/2023/11/01/14.0.0-release/>< > https://arrow.apache.org/blog/2023/11/01/14.0.0-release/< > https://arrow.apache.org/blog/2023/11/01/14.0.0-release/>>) may also be > helpful. > > > > > > > > -- > > > > > > > > We really appreciate all of the community's guidance on navigating > the release process! > > > > > > > > We will get started on integrating with the existing release tooling. > > > > > > > > [1] https://github.com/apache/arrow/tree/main/matlab#status< > https://github.com/apache/arrow/tree/main/matlab#status>< > https://github.com/apache/arrow/tree/main/matlab#status< > https://github.com/apache/arrow/tree/main/matlab#status>> > > > > [2] https://www.mathworks.com/matlabcentral/fileexchange > > > > [3] > https://www.mathworks.com/matlabcentral/content/fx/about.html#Why_GitHub > > > > > > > > Best Regards, > > > > > > > > Kevin Gurney > > > > ________________________________ > > > > From: Dewey Dunnington <de...@voltrondata.com.INVALID> > > > > Sent: Tuesday, November 7, 2023 8:53 PM > > > > To: dev@arrow.apache.org <dev@arrow.apache.org> > > > > Cc: Sarah Gilmore <sgilm...@mathworks.com>; Lei Hou < > lei...@mathworks.com> > > > > Subject: Re: [DISCUSS][MATLAB] Proposal for incremental point > releases of the MATLAB interface > > > > > > > > For argument's sake, I might suggest that the process you described > in > > > > your initial note would probably work best in another repo: you would > > > > be able to iterate faster and release/version at your own pace. The > > > > flexibility you get from moving to a separate repo comes at the cost > > > > of extra responsibility: you have to set up your own CI, manage your > > > > own issues, and set up your own release verification scripts + > release > > > > votes on the mailing list. Because you bind Arrow C++, you would have > > > > to take sufficient steps to ensure that the Arrow C++ developers are > > > > made aware of changes that break the Matlab bindings and vice versa > > > > (i.e., test against dev Arrow C++ in a CI job). > > > > > > > > Setting up that infrastructure for apache/arrow-nanoarrow took ~a > week > > > > of development time, and it now takes ~half a day to release a new > > > > version (it took more for the first few versions, and the matlab > > > > version has considerably higher complexity). Probably the biggest > > > > barrier to releasing from another repo is that you have to ensure a > > > > critical mass of PMC members can/will run your release verification > > > > script and vote. > > > > > > > > I happen to feel that it's the PMC's/wider community's responsibility > > > > to help language binding contributors adopt a workflow that suits > > > > their needs. If active Matlab contributors agree that they want to > > > > release version 0.1 from another repo, (I feel that) we're here to > > > > help you do that. If the active contributors want to stay in > > > > apache/arrow, there is less flexibility about what you release and > > > > when; however, the release process is well-defined. > > > > > > > > On Tue, Nov 7, 2023 at 8:43 PM Sutou Kouhei <k...@clear-code.com> > wrote: > > > >> > > > >> Hi, > > > >> > > > >> > As a point of reference, we noticed that PyArrow is on > > > >> > version 14.0.0, but it feels "misleading" to say that the > > > >> > MATLAB interface is at version 14.0.0 when we haven't yet > > > >> > implemented or stabilized all core Arrow APIs. > > > >> > > > >> I can understand this but I suggest that we use the same > > > >> version as other packages in apache/arrow. Because: > > > >> > > > >> * Using isolated version increases release complexity. > > > >> * Using isolated version may introduce another > > > >> "misleading"/"confusion": For example, "the MATLAB > > > >> interface 1.0.0 uses Apache Arrow C++ 20.0.0" may be > > > >> misleading/confused: > > > >> * The MATLAB interface 1.0.0 doesn't use Apache Arrow C++ > > > >> 1.0.0. > > > >> * It may be difficult to find the corresponding > > > >> Apache Arrow C++ version from the MATLAB interface > > > >> version. > > > >> > > > >> Can we just mention "This is not stable yet!!!" in the > > > >> documentation instead of using isolated version? > > > >> > > > >> We may want to use the status page for it: > > > >> https://arrow.apache.org/docs/status.html< > https://arrow.apache.org/docs/status.html>< > https://arrow.apache.org/docs/status.html< > https://arrow.apache.org/docs/status.html>>< > https://arrow.apache.org/docs/status.html< > https://arrow.apache.org/docs/status.html>< > https://arrow.apache.org/docs/status.html< > https://arrow.apache.org/docs/status.html>>> > > > >> > > > >> > 1. Manually build the MATLAB interface on Windows, macOS, and > Linux > > > >> > > > >> It's better that we use CI for this like other binary > > > >> packages such as .deb/.rpm/.wheel/.jar/... > > > >> > > > >> If we release the MATLAB interface separately, which Apache > > > >> Arrow C++ version is used? If we release the MATALB > > > >> interface right now, is Apache Arrow C++ 14.0.0 (the latest > > > >> release) used or is Apache Arrow C++ main (not released yet) > > > >> used? The MATLAB interface on main will depend on Apache > > > >> Arrow C++ main, we may not be able to use the latest release > > > >> for the MATLAB interface on main. > > > >> > > > >> > 2. Combine all of the cross platform build artifacts into > > > >> > a single MLTBX file [1] for distribution > > > >> > > > >> Does the MLTBX file include Apache Arrow C++ binaries too > > > >> like .wheel/.jar? > > > >> > > > >> > 3. Host the MLTBX somewhere that is easliy accessible for download > > > >> > > > >> MATLAB doesn't provide the official package repository such > > > >> as PyPI for Python and https://rubygems.org/<https://rubygems.org/ > ><https://rubygems.org/<https://rubygems.org/>><https://rubygems.org< > https://rubygems.org><https://rubygems.org<https://rubygems.org>>> for > Ruby, right? > > > >> > > > >> > 1. Is there a recommended location where we can host the MLTBX > file? e.g. GitHub Releases [2], JFrog [3], etc.? > > > >> > > > >> If the official package repository for MATLAB doesn't exist, > > > >> JFrog is better because the MLTBX file will be large (Apache > > > >> Arrow C++ binaries are large). > > > >> > > > >> > 2. Is there a recommended location for hosting release notes? > > > >> > > > >> How about creating https://arrow.apache.org/docs/matlab/< > https://arrow.apache.org/docs/matlab/>< > https://arrow.apache.org/docs/matlab/< > https://arrow.apache.org/docs/matlab/>>< > https://arrow.apache.org/docs/matlab<https://arrow.apache.org/docs/matlab > ><https://arrow.apache.org/docs/matlab< > https://arrow.apache.org/docs/matlab>>> ? > > > >> We can use Sphinx like the Python docs > > > >> https://arrow.apache.org/docs/python/< > https://arrow.apache.org/docs/python/>< > https://arrow.apache.org/docs/python/< > https://arrow.apache.org/docs/python/>>< > https://arrow.apache.org/docs/python<https://arrow.apache.org/docs/python > ><https://arrow.apache.org/docs/python< > https://arrow.apache.org/docs/python>>> or another > > > >> documentation tools like the R docs > > > >> https://arrow.apache.org/docs/r/<https://arrow.apache.org/docs/r/>< > https://arrow.apache.org/docs/r/<https://arrow.apache.org/docs/r/>>< > https://arrow.apache.org/docs/r<https://arrow.apache.org/docs/r>< > https://arrow.apache.org/docs/r<https://arrow.apache.org/docs/r>>> . > > > >> If we use Sphinx, we can create > > > >> https://github.com/apache/arrow/tree/main/docs/source/matlab/< > https://github.com/apache/arrow/tree/main/docs/source/matlab/>< > https://github.com/apache/arrow/tree/main/docs/source/matlab/< > https://github.com/apache/arrow/tree/main/docs/source/matlab/>>< > https://github.com/apache/arrow/tree/main/docs/source/matlab< > https://github.com/apache/arrow/tree/main/docs/source/matlab>< > https://github.com/apache/arrow/tree/main/docs/source/matlab< > https://github.com/apache/arrow/tree/main/docs/source/matlab>>> > > > >> . > > > >> > > > >> > 3. Is there a recommended cadence for incremental point releases? > > > >> > > > >> I suggest avoiding separated release as above. > > > >> > > > >> > 4. Are there any notable ASF procedures [4] [5] (e.g. voting on a > new release proposal) that we should be aware of as we consider creating an > initial release? > > > >> > > > >> We don't need additional task for an initial release. > > > >> > > > >> > 5. How should the Arrow project release (i.e. 14.0.0) > > > >> > relate to the MATLAB interface version (i.e. 0.1)? As a > > > >> > point of reference, we noticed that PyArrow is on > > > >> > version 14.0.0, but it feels "misleading" to say that > > > >> > the MATLAB interface is at version 14.0.0 when we > > > >> > haven't yet implemented or stabilized all core Arrow > > > >> > APIs. Is there any precedent for using independent > > > >> > release versions for language bindings which are not > > > >> > fully stabilized and are also part of the main > > > >> > apache/arrow repository? > > > >> > > > >> We don't have any precedent for using independent release > > > >> versions for language bindings. All language bindings used > > > >> the same version. > > > >> > > > >> Apache Arrow JavaScript isn't a language bindings but it > > > >> used separated release and isolated versions before > > > >> 0.4.1. It joined apache/arrow release after 0.4.1. (The next > > > >> version of Apache Arrow JavaScript 0.4.1 is 13.0.0.) > > > >> > > > >> > We've noticed that Arrow-related projects which are not > > > >> > part of the main apache/arrow GitHub repository > > > >> > (e.g. DataFusion) follow a mailing list-based voting and > > > >> > release process. However, it's not clear whether it makes > > > >> > sense to follow this process for the MATLAB interface > > > >> > since it is part of the main apache/arrow repository. > > > >> > > > >> If we want to use separated release for the MATLAB > > > >> interface, we should follow the same release process as > > > >> apache/arrow and other apache/arrow-* because it's the > > > >> standard ASF release process. > > > >> > > > >> > > > >> Thanks, > > > >> -- > > > >> kou > > > >> > > > >> In < > mn2pr05mb649619998eae9579cceba692ae...@mn2pr05mb6496.namprd05.prod.outlook.com > > > > > >> "[DISCUSS][MATLAB] Proposal for incremental point releases of the > MATLAB interface" on Tue, 7 Nov 2023 20:31:31 +0000, > > > >> Kevin Gurney <kgur...@mathworks.com.INVALID> wrote: > > > >> > > > >> > Hi All, > > > >> > > > > >> > A considerable amount of new functionality has been added to the > MATLAB interface over the last few months. We appreciate all the > community's support in making this possible and are happy to see all the > progress that is being made. > > > >> > > > > >> > At this point, we would like to create an initial "0.1" release > of the MATLAB interface. Incremental point releases will enable MATLAB > users to provide early feedback. In addition, learning how to navigate the > release process is an important step towards eventually releasing a stable > 1.0 version of the MATLAB interface. > > > >> > > > > >> > Our proposed approach to creating an initial release would be to: > > > >> > > > > >> > 1. Manually build the MATLAB interface on Windows, macOS, and > Linux > > > >> > 2. Combine all of the cross platform build artifacts into a > single MLTBX file [1] for distribution > > > >> > 3. Host the MLTBX somewhere that is easliy accessible for download > > > >> > > > > >> > For reference - MLTBX is a standard packaging format for MATLAB > which enables simple "one-click" installation - analogous to a Python pip > package or a Ruby gem. > > > >> > > > > >> > Creating an MLTBX file manually should be relatively low effort. > However, in the long term, we would love to enable semi-automated "push > button" releases via GitHub Actions (and possibly even "nightly builds"). > > > >> > > > > >> > Since this is our first time creating a release of the MATLAB > interface, we wanted to draw on the community's expertise to answer a few > questions: > > > >> > > > > >> > 1. Is there a recommended location where we can host the MLTBX > file? e.g. GitHub Releases [2], JFrog [3], etc.? > > > >> > 2. Is there a recommended location for hosting release notes? > > > >> > 3. Is there a recommended cadence for incremental point releases? > > > >> > 4. Are there any notable ASF procedures [4] [5] (e.g. voting on a > new release proposal) that we should be aware of as we consider creating an > initial release? > > > >> > 5. How should the Arrow project release (i.e. 14.0.0) relate to > the MATLAB interface version (i.e. 0.1)? As a point of reference, we > noticed that PyArrow is on version 14.0.0, but it feels "misleading" to say > that the MATLAB interface is at version 14.0.0 when we haven't yet > implemented or stabilized all core Arrow APIs. Is there any precedent for > using independent release versions for language bindings which are not > fully stabilized and are also part of the main apache/arrow repository? > > > >> > > > > >> > We've noticed that Arrow-related projects which are not part of > the main apache/arrow GitHub repository (e.g. DataFusion) follow a mailing > list-based voting and release process. However, it's not clear whether it > makes sense to follow this process for the MATLAB interface since it is > part of the main apache/arrow repository. > > > >> > > > > >> > We sincerely appreciate the community's help and guidance on this > topic! > > > >> > > > > >> > Please let us know if you have any questions. > > > >> > > > > >> > [1] > https://www.mathworks.com/help/matlab/creating-help.html?s_tid=CRUX_lftnav > > > >> > [2] https://github.com/apache/arrow/releases< > https://github.com/apache/arrow/releases>< > https://github.com/apache/arrow/releases< > https://github.com/apache/arrow/releases>>< > https://github.com/apache/arrow/releases< > https://github.com/apache/arrow/releases>< > https://github.com/apache/arrow/releases< > https://github.com/apache/arrow/releases>>> > > > >> > [3] https://apache.jfrog.io/ui/native/arrow/< > https://apache.jfrog.io/ui/native/arrow>< > https://apache.jfrog.io/ui/native/arrow< > https://apache.jfrog.io/ui/native/arrow>>< > https://apache.jfrog.io/ui/native/arrow< > https://apache.jfrog.io/ui/native/arrow>< > https://apache.jfrog.io/ui/native/arrow< > https://apache.jfrog.io/ui/native/arrow>>> > > > >> > [4] https://www.apache.org/foundation/voting.html< > https://www.apache.org/foundation/voting.html>< > https://www.apache.org/foundation/voting.html< > https://www.apache.org/foundation/voting.html>>< > https://www.apache.org/foundation/voting.html< > https://www.apache.org/foundation/voting.html>< > https://www.apache.org/foundation/voting.html< > https://www.apache.org/foundation/voting.html>>> > > > >> > [5] > https://www.apache.org/legal/release-policy.html#release-approval< > https://www.apache.org/legal/release-policy.html#release-approval>< > https://www.apache.org/legal/release-policy.html#release-approval< > https://www.apache.org/legal/release-policy.html#release-approval>>< > https://www.apache.org/legal/release-policy.html#release-approval< > https://www.apache.org/legal/release-policy.html#release-approval>< > https://www.apache.org/legal/release-policy.html#release-approval< > https://www.apache.org/legal/release-policy.html#release-approval>>> > > > >> > > > > >> > Best Regards, > > > >> > > > > >> > Kevin Gurney >