[DISCUSSION] Release snapshot versions on each commit
I would like to propose to make simple GitHub jar releases on each commit in `master` or `v*` branches. Those releases would be simple GitHub packages and their purpose wouldn't be mostly for easier testing.
This would also allow users to use latest features from `master` branch without need to build their own version of JanusGraph to use those snapshot versions. Would be great to hear other opinions about it. Do you think this would be useful for the community or not? Best regards, Oleksandr |
|
Jansen, Jan
Hi Porunov It doesn't follow our default release guildlines, it just builds it and publishes as artifact (https://github.com/JanusGraph/janusgraph/actions/runs/1155506290).
I think it would great if we fully automate the release any step. Von: janusgraph-dev@... <janusgraph-dev@...> im Auftrag von Oleksandr Porunov <alexandr.porunov@...>
Gesendet: Montag, 16. August 2021 15:09:26 An: janusgraph-dev@... Betreff: [janusgraph-dev] [DISCUSSION] Release snapshot versions on each commit I would like to propose to make simple GitHub jar releases on each commit in `master` or `v*` branches. Those releases would be simple GitHub packages and their purpose wouldn't be mostly for easier testing.
This would also allow users to use latest features from `master` branch without need to build their own version of JanusGraph to use those snapshot versions. Would be great to hear other opinions about it. Do you think this would be useful for the community or not? Best regards, Oleksandr |
|
Hi Jan,
Thanks for pointing on that! That indeed uploads distribution for a commit but it doesn't provide you with the maven nexus repository to use those distributions. Basically, it means, that you will need to physically download `distribution-builds` and run it. In case you would like to run JanusGraph embedded into the application, it becomes not as easy to be used due to necessity to include transitive dependencies manually. What I mean is to publish staging artifacts to the maven repository such as GitHub actions. If so, people could just include latest JanusGraph master snapshot releases simply defining something like: <dependency>
<groupId>org.janusgraph</groupId>
<artifactId>janusgraph-core</artifactId>
<version>0.6.0-SNAPSHOT-12345</version>
</dependency>
Ignore `version` as for now because I didn't think about versioning yet but you can see a simple example here: https://github.com/orgs/mapped/packages?repo_name=janusgraph See the commit here: https://github.com/mapped/janusgraph/commit/a94a0c03cb9d1b1445901c6735aff3e66b8692ac Basically, I think it's possible to configure different publishing flows (either to sonatype for official releases or to GitHub Packages for unofficial releases). Moreover, about the link which you shared. Did we document it anywhere? If no, I think it would be good to create a separate documentation page which tells about release artifacts for each commit and potentially releases to GitHub Packages for each commit. Best regards, Oleksandr |
|
Florian Hockmann
Thanks for bumping this thread again in the discussion for the 1.0.0 release, Oleksandr!
> Basically, I think it's possible to configure different publishing flows (either to sonatype for official releases or to GitHub Packages for unofficial releases).
+1 on GitHub Packages for snapshots on each commit and sonatype for official releases.
As a possible next step for the future, we could maybe also build a Docker image for each commit (or daily if it’s difficult to trigger a build in janusgraph-docker from each commit in the main repo) and publish that somewhere (not sure if Docker Hub or also a different repo for these non-release based images).
> Moreover, about the link which you shared. Did we document it anywhere? If no, I think it would be good to create a separate documentation page which tells about release artifacts for each commit and potentially releases to GitHub Packages for each commit.
No, that is not documented any where that I know of. I at least searched for these artifacts recently but couldn’t find them. Documenting this would be great, especially of course if we also publish Maven snapshot packages to make them easier to consume.
One general note: I would usually just assume lazy consensus for such discussions where you don’t get many responses and especially no negative response. People here simply might not have the time to respond, but that doesn’t mean that they don’t like the idea. I remember that I’ve read this thread, liked the idea, but didn’t have much to add to the discussion so I didn’t respond. Such a behaviour shouldn’t stop good ideas from being implemented 😉
Von: janusgraph-dev@... <janusgraph-dev@...> Im Auftrag von Oleksandr Porunov
Hi Jan, <dependency> <groupId>org.janusgraph</groupId> <artifactId>janusgraph-core</artifactId> <version>0.6.0-SNAPSHOT-12345</version> </dependency>
|
|
Related PR for reference: https://github.com/JanusGraph/janusgraph/pull/3364
|
|
Related discussion regarding publishing with `org.janusgraph` or `org.janusgraph.commit` groupId: https://github.com/JanusGraph/janusgraph/discussions/3374
|
|