Relevant: https://lists.apache.org/thread.html/205472bdaf3c2c5876533750d417c19b0d1078131a3dc04916082ce8%40%3Cdev.beam.apache.org%3E
I wrote set_version.sh around the same time. I admit that I started to decompose the release scripts but stopped after a couple of steps. The process described there has the following properties, if we extrapolate to minor and patch versions: - main branch moves from 2.20.0-SNAPSHOT to 2.21.0-SNAPSHOT when the release branch is created - release 2.20 branch has version 2.20.0-SNAPSHOT (moves to 2.20.1-SNAPSHOT after release if it is LTS) - RC is a single commit not on the branch, with version 2.20.0. The _only_ change should be running set_version.sh There may be bugs in the script or process, of course. Kenn On Thu, May 28, 2020 at 4:16 AM Maximilian Michels <m...@apache.org> wrote: > > I would expect the release branch to have the next -SNAPSHOT version > (not the case currently): > > Why would the release branch have the next version? It is created for > the sole purpose of releasing the current version. For example, the > release branch for 2.21.0 would have the version 2.21.0-SNAPSHOT. If we > were to release 2.21.1 or 2.22.0, we would create a new branch where the > same logic applies. > > The release branch having a -SNAPSHOT version makes perfect sense > because it is a snapshot of what is going to be released (still subject > to changes). Contrary to what I said before, I don't think we should > remove the snapshot suffix from the release branch. > > However, as pointed out, the source release and its tag should have a > non-snapshot version. > > -Max > > On 27.05.20 05:02, Thomas Weise wrote: > > > > > > I think the "set_version.sh" script could be called in the release > > scripts to remove the -SNAPSHOT suffix on the release branch. > > > > > > I would expect the release branch to have the next -SNAPSHOT version > > (not the case currently): > > > > https://github.com/apache/beam/blob/release-2.20.0/gradle.properties#L26 > > > > Release tag and the source archive should have the actually released > > version (not -RC): > > > > https://github.com/apache/beam/blob/v2.20.0/gradle.properties#L26 > > > > > > > > > > Btw, in case you haven't seen it, here is our release guide: > > https://beam.apache.org/contribute/release-guide/ > > > > -Max > > > > On 26.05.20 19:02, Jacek Laskowski wrote: > > > Hi Max, > > > > > >> I think you bring up a good point, for the sake of release build > > > reproducibility, we may want to remove the snapshot suffix for the > > > source release. > > > > > > Wish I could be as clear as yourself with this. Yes, that's what > I've > > > been bothered about. Is there a JIRA issue for this already? I've > > never > > > been good at releases but certainly could help a bit here and there > > > since I'm interested in having reproducible builds (from the tags). > > > > > > Pozdrawiam, > > > Jacek Laskowski > > > ---- > > > https://about.me/JacekLaskowski > > > "The Internals Of" Online Books <https://books.japila.pl/> > > > Follow me on https://twitter.com/jaceklaskowski > > > > > > <https://twitter.com/jaceklaskowski> > > > > > > > > > On Tue, May 26, 2020 at 5:37 PM Maximilian Michels <m...@apache.org > > <mailto:m...@apache.org> > > > <mailto:m...@apache.org <mailto:m...@apache.org>>> wrote: > > > > > > If you really want to work with the source code, I'd recommend > > using the > > > released source code: > > > https://beam.apache.org/get-started/downloads/#releases > > > > > > Even there the version in gradle.properties says > > x.y.z-SNAPSHOT. You may > > > want to remove the -SNAPSHOT suffix. I understand that this is > > confusing > > > but that's how our release tooling currently works; it removes > the > > > snapshot suffix during publishing the artifacts. > > > > > > I think you bring up a good point, for the sake of release > build > > > reproducibility, we may want to remove the snapshot suffix for > the > > > source release. > > > > > > Best, > > > Max > > > > > > On 26.05.20 17:20, Kyle Weaver wrote: > > > >> When we release the version, the RC suffix is dropped. > > > > > > > > I think this might not actually be true, at least for the > > git tag, > > > since > > > > we just copy the tag from the accepted RC without changing > > anything. > > > > However, it might not matter because RC2 artifacts should be > > identical > > > > to the final release artifacts. > > > > > > > >> In other words, how to check out the sources of Beam 2.20.0 > > and build > > > > them to get the released artifacts? > > > > > > > > As Max said, we build and publish artifacts (Jars, Docker > > containers, > > > > Python wheels, etc.) for each release, so it usually isn't > > > necessary to > > > > build them oneself unless you are testing on head or other > > > unreleased code. > > > > > > > > On Tue, May 26, 2020 at 6:02 AM Jacek Laskowski > > <ja...@japila.pl <mailto:ja...@japila.pl> > > > <mailto:ja...@japila.pl <mailto:ja...@japila.pl>> > > > > <mailto:ja...@japila.pl <mailto:ja...@japila.pl> > > <mailto:ja...@japila.pl <mailto:ja...@japila.pl>>>> wrote: > > > > > > > > Hi Max, > > > > > > > > > You probably want to work with the release artifacts, > > instead of > > > > cloning > > > > > the development branch. > > > > > > > > I'm not sure I understand. > > > > > > > > I did the following to work with the sources of v2.20.0. > Am > > > > I missing something? > > > > > > > > git fetch --all --tags --prune > > > > git checkout -b v2.20.0 v2.20.0 > > > > > > > > The last commit on the branch > > > > is 9f0cb649d39ee6236ea27f111acb4b66591a80ec that matches > > the repo. > > > > > > > > > > > > > > https://github.com/apache/beam/commit/9f0cb649d39ee6236ea27f111acb4b66591a80ec > > > > > > > > commit 9f0cb649d39ee6236ea27f111acb4b66591a80ec (HEAD -> > > v2.20.0, > > > > tag: v2.20.0-RC2, tag: v2.20.0) > > > > Author: amaliujia <ruw...@google.com > > <mailto:ruw...@google.com> > > > <mailto:ruw...@google.com <mailto:ruw...@google.com>> > > <mailto:ruw...@google.com <mailto:ruw...@google.com> > > > <mailto:ruw...@google.com <mailto:ruw...@google.com>>>> > > > > Date: Wed Apr 8 14:38:47 2020 -0700 > > > > > > > > [Gradle Release Plugin] - pre tag commit: > > 'v2.20.0-RC2'. > > > > > > > > gradle.properties | 2 +- > > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > > > That commit introduced the RC2: > > > > > > > > -version=2.20.0-SNAPSHOT > > > > +version=2.20.0-RC2 > > > > > > > > Why is there no 2.20.0 only commit? One that would be > like > > > this for > > > > Spark 2.4.5 [1] or Kafka 2.5.0 [2]? > > > > > > > > > > > > > [1] > https://github.com/apache/spark/commit/cee4ecbb16917fa85f02c635925e2687400aa56b > > > > > > > > > [2] > https://github.com/apache/kafka/commit/66563e712b0b9f84f673b262f2fb87c03110084d > > > > > > > > In other words, how to check out the sources of Beam > > 2.20.0 and > > > > build them to get the released artifacts? > > > > > > > > Pozdrawiam, > > > > Jacek Laskowski > > > > ---- > > > > https://about.me/JacekLaskowski > > > > "The Internals Of" Online Books < > https://books.japila.pl/> > > > > Follow me on https://twitter.com/jaceklaskowski > > > > > > > > <https://twitter.com/jaceklaskowski> > > > > > > > > > > > > On Mon, May 25, 2020 at 12:00 PM Maximilian Michels > > > <m...@apache.org <mailto:m...@apache.org> <mailto:m...@apache.org > > <mailto:m...@apache.org>> > > > > <mailto:m...@apache.org <mailto:m...@apache.org> > > <mailto:m...@apache.org <mailto:m...@apache.org>>>> wrote: > > > > > > > > Hi Jacek, > > > > > > > > The Gradle property is the source of truth for the > Beam > > > version. > > > > When we > > > > release the version, the RC suffix is dropped. > > > > > > > > The use of snapshot versions is normal during the > > development > > > > process. > > > > You probably want to work with the release artifacts, > > > instead of > > > > cloning > > > > the development branch. > > > > > > > > -Max > > > > > > > > On 24.05.20 12:45, Jacek Laskowski wrote: > > > > > Hi, > > > > > > > > > > I git > > cloned https://github.com/apache/beam/tree/v2.20.0 and > > > > > found version=2.20.0-RC2 in gradle.properties. > > What's the > > > > purpose of the > > > > > version property? > > > > > > > > > > (The main reason I'm asking is that I try to find > > out why > > > > gradle / IDEA > > > > > attaches 2.20.0-SNAPSHOT dependencies to projects. > How > > > is that > > > > possible > > > > > that any of the two would ever consider SNAPSHOT > as a > > > dependency?) > > > > > > > > > > Pozdrawiam, > > > > > Jacek Laskowski > > > > > ---- > > > > > https://about.me/JacekLaskowski > > > > > "The Internals Of" Online Books > > <https://books.japila.pl/> > > > > > Follow me on https://twitter.com/jaceklaskowski > > > > > > > > > > <https://twitter.com/jaceklaskowski> > > > > > > > > > >