Closed tferr closed 6 years ago
Really sorry, but I've been hiding under a rock for the last 3 months (please feel free to yell at me, I deserve it!) Are artifacts now automatically uploaded to the java-8 update site by travis jobs when a release version is mentioned in the pom? Or is this something that I should still do manually as before?
Hi @tferr. Hope you are settling in to Janelia OK!
Are artifacts now automatically uploaded to the java-8 update site by travis jobs when a release version is mentioned in the pom?
Not yet, unfortunately. That is still the plan, though.
is this something that I should still do manually as before?
To perform a release these days, you do not make a direct change to master
, but instead use the release-version.sh
script in scijava/scijava-scripts. This script pushes the release tag, which signals Travis CI to build and deploy the actual release to the Maven repository. For it to function, you just need push permission to the repository in question.
After that, assuming the Travis CI build succeeds and the artifact is deployed successfully, someone still needs to manually upload the new version to the Java-8 update site. It would be best if you could also update the version in pom-scijava, so that the Bill of Materials does not get too out of sync. Some day, updating pom-scijava and/or fiji master will trigger the update site upload automatically, but it does not do so yet.
For details, see the relevant documentation on the wiki. Happy to help if you have any questions or issues.
Regarding next steps here:
release-version.sh
locally.maven.imagej.net
, place in your Fiji installation, upload to Java-8 update site.Simple_Neurite_Tracer.version
to the correct new one.Thanks @ctrueden. This is great!
But I do need help. I merged the 8a44ebf commit into master, and was going to run release-version.sh
when I noticed that the master branch of my fork has now diverged from fiji/Simple_Neurite_Tracer, (it contains the other two commits on my initial PR). From which master branch should I run the script from? the tferr/ or the fiji/ repository? If the latter, what is best, just reclone the fiji/Simple_Neurite_Tracer repository afresh? Also, I guess I'd need push rights to the fiji organization? Do I have them?
I'd need push rights to the fiji organization? Do I have them?
You can easily check that: if you see a Merge pull request button on this PR, you have push permissions. (Otherwise you'll see "Only those with write access to this repository can merge pull requests.")
From which master branch should I run the script from?
From the fiji/
one.
If the latter, what is best, just reclone the fiji/Simple_Neurite_Tracer repository afresh?
I don't know if this is an optimal way of doing it, but here's what you can do:
master
branch in your local clonefiji/master
into a new local master
master
to tferr/master
If you actually have push permissions to fiji/Simple_Neurite_Tracer
, then you can delete your fork on tferr/
and simply configure your local git clone to have fiji/
as origin
.
@ctrueden , @imagejan
Thanks a lot for the help. But it looks I need more.
I ran release-version.sh
while on fiji/master but I got a Not on 'master' branch
error. So I simply did git checkout master
and rerun the script. The coolest magic happened (you guys are awesome): Everything worked fine but it happened on my fork, so now the release is on tferr/Simple_Neurite_Tracer and the new release artifact is not on maven.imagej.net. Oops.
@tferr wrote:
the new release artifact is not on maven.imagej.net
That's because your fork is not tracked by travis, yes.
I guess the solution for you is to configure your local git repository to have a remote called origin
pointing to the fiji/SNT
, with its master
branch tracking the fiji
one and not your fork.
Use git remote -v
to see what remotes are configure on your local repo.
fiji/Simple_Neurite_Tracer
master branch has all the commits. You can use git cherry-pick
to add commits (presumably from the tferr/Simple_Neurite_Tracer
master branch) one by one.tferr/Simple_Neurite_Tracer
fork from GitHub. Delete the tferr
remote from your local machine by running git remote remove tferr
.fiji
remote to origin
as suggested by @imagejan: git remote rename fiji origin
.master
is tracking origin/master
: git checkout master && git reset --hard origin/master && git branch --set-upstream-to=origin/master
.git status
says "On branch master" followed by "Your branch is up to date with 'origin/master'."release-version.sh
to cut the release.Hope that helps!
Thanks a lot for the detailed walk-through. Just uploaded the new release. I did pull the scijava branch from my fork to this repo. It is the best place for contributions from others. A new release from there is warranted, I think I will upload a snapshot release to the Neuroanatomy update site, and make a forum announcement. I will close, but do let me know if I missed something.
Great, the release is on maven.imagej.net :)
I noticed that release-version.sh
creates a tag with the release, but doesn't actually create a GitHub release. So if you want your latest release on https://github.com/fiji/Simple_Neurite_Tracer/releases point to 3.1.6, you'll have to create a new release on github and let it point to the respective tag.
I did pull the scijava branch from my fork to this repo. It is the best place for contributions from others.
Ah right, great, thanks for remembering about that!
So if you want your latest release on https://github.com/fiji/Simple_Neurite_Tracer/releases point to 3.1.6
In future we could look at configuring something like the github-release-plugin in pom-scijava-base so that GitHub releases can be created more easily when release-version.sh is run.
The reason I haven't done it yet is that I am ignorant of the advantages of GitHub releases. Why bother? Just a convenient spot to put the release notes? Any other advantages?
Why bother?
My main point here was that if you already have releases on that page, it might be good if the latest release tag wouldn't point to an outdated version :-)
Other than for creating nice-looking latest release
badges for the github README, I don't see much benefit in having github releases in addition to those on maven.imagej.net
.
if you already have releases on that page, it might be good if the latest release tag wouldn't point to an outdated version
Completely agreed.
I don't see much benefit in having github releases in addition to those on maven.imagej.net.
For the component JARs, yeah. I suppose GitHub releases could host other binaries such as the standalone ImageJ2 and Fiji downloads currently hosted at https://downloads.imagej.net/. I wonder whether GitHub is behind a CDN so that people in different parts of the world get good download performance.
This is a hot fix for the issue reported at http://forum.imagej.net/t/issues-running-sholl-analysis-on-simple-neurite-tracer/8957/4. Also, notice that I'm not updating the scijava-pom to its latest version: The rewrite of Simple Neurite Tracer will be released soon, and it is already using it.