-
-
Notifications
You must be signed in to change notification settings - Fork 908
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make jar available from Github? #557
Comments
By the way... https://nav.dl.sourceforge.net/project/plantuml/plantuml.jar doesn't work anymore |
Now the direct link seems to be changed to https://netcologne.dl.sourceforge.net/project/plantuml/plantuml.jar |
Sourceforge policies should be overcome by making the jar available here on github... |
Well, we are willing to do it automatically as a Github Action, but we have no idea on how to do that. Could anyone help on this subject ? Any PR would be welcome :-) |
@arnaudroques I'll have a go at that now |
@arnaudroques I think we could use this as the release process but haven't actually tried it yet:
Kind of a kludge because it ignores that maven-release-plugin is already managing releases via Sourceforge but it's simpleish to understand. Does it make sense to try this as a first attempt? Alternatively we could look at maven-release-plugin updating Git so there is an obvious commit that has the POM version set to the release tag. |
Yes, it sounds good. Thanks for your help ! |
So the draft idea doesn't work because it seems that events are not being fired for draft releases 😢, see:
But I have it working in #560 with jars auto added to releases just after they have been published. |
The correct way would be to react to a new tag event based on semantic
versioning and generate a new release with everything you need generated by
CI (that is executables/packages and documentation usually). The changelog
can be generated by commit history OR can be read from a file. There are
actions that take care of every step of this process
|
I agree something like that would be a cleaner long term solution but there's quite a few changes needed to get there. Currently development is driven from Subversion in SourceForge and GitHub sort of follows along behind (except for PRs!). PlantUML tends to evolve in small steps, #560 solves the immediate itch by making JARs available in GitHub and it gives us some experience with workflows publishing artefacts but it doesn't force a rethink of any other part of the dev / release process. Longer term, my 2c vote would be to stop using Subversion / SourceForge and move all work to GitHub then a simpler CI workflow would naturally emerge. But that's for @arnaudroques to decide, I don't know how wide the impact would be and I might not have time to help with it myself. |
Hi @arnaudroques, The The Creating a release I think is the step we are missing. #560 assumed we would do it manually but its my bad as I didn't make that really obvious in the discussion. Our As @ldeluigi suggests above, there are many actions available that can automate the whole release process but they are all from third parties so I'm reluctant to trust any of them without research. And then only if the action is really necessary. What we currently do to publish the JAR is a Maven build then a POST to a single REST endpoint. I think it's getting close to the boundary of CI complexity that sensibly fits in this repo, if we want to add much more then perhaps a third-party action would be better. release-please-action is the only obvious action from a Verified Creator, it's made by Google so at first glance seems quite trustable. However it uses Conventional Commits and does not mention Java or Maven as supported release types so might not be a good fit for PlantUML. If you would like to automate the creation of a release in Github then a simple option we could try without third party is just to check for a relevant tag at the end of the CI workflow, something like:
I think that would simplify our workflow code because it would delete the first half of |
Hi @arnaudroques, probably missed my above comment as the issue is currently closed. I don't have access to re-open but think we should as the JARs aren't appearing in Github. |
@matthew16550 Sorry, I indeed miss a lot here. :-) Thanks for your help!
Please go ahead. You could also open a new discussion on this subject so that other people give theirs opinions. I must say that this is far away from my area of expertise... Really sorry about that. |
@arnaudroques I'll fix this issue first then make a Discussion. I think it will be a simpler discussion starting point once this issue is done and the two workflows are merged into one. How do you currently make the Git tags? I will need to do the same process on my fork to test the new workflow. |
It can be done on GitHub (with the GUI) or with |
The repository is cloned on my local workstation. |
@arnaudroques could you put in the exact commands with arguments here. The workflow triggering is difficult to get right so I want to be sure I'm testing exactly the right thing. |
Sure, here we are:
Thanks ! |
Discussion started at #653. |
I'll close this as we do have jars available in GitHub releases now. |
Hello @matthew16550, and all, Have you some ideas or elements to retrieve the link to the latest I search on: First hint: But I don't know what are the simple method. Regards. |
Hello @The-Lum This is my attempt, it's not a one-liner but I think fairly readable. tag=$(curl -s https://api.github.com/repos/plantuml/plantuml/releases/latest | jq -r '.tag_name')
curl "https://github.com/plantuml/plantuml/releases/download/${tag}/plantuml-${tag#v}.jar" -L -o plantuml.jar |
Hello all, With #1120, and from V.1.2022.8, then here is the GH permalink (without tag or version 🎉 ) to the latest stable version: (GH Ref.: https://docs.github.com/en/repositories/releasing-projects-on-github/linking-to-releases) Enjoy 🎉, |
Could you please make the binary / jar also available as a download from the Github repository? Currently, you can only fetch it from Sourceforce. As Sourceforce was under a lot of heat for adding Adware to downloads, I would very much prefer to avoid that detour.
It should just be a few clicks to add the .jar to the releases, as described here, or automatically as a Github Action.
Thanks in advance!
The text was updated successfully, but these errors were encountered: