fiji / fiji-builds

Downloadable Fiji bundles
https://downloads.imagej.net/fiji/latest/
5 stars 3 forks source link

Implementation of DMG build #1

Open turekg opened 5 years ago

turekg commented 5 years ago

The DMG creation script is up to date now. I've added the deploy to the ImageJ downloads server. The build will now happen in two stages. The first stage does all the tars/zips. The second stage the dmg. Eventually a third stage will do the exe installer(s) for windoze. Note that since the stages are independent of each other, I need to fetch the tar from the ImageJ server to execute the DMG build.

turekg commented 5 years ago

You have to have the jobs approach as the dmg build is done on a different VM Could not find a different way to do it. Gaby

On Feb 26, 2019, at 17:12, Curtis Rueden notifications@github.com wrote:

@ctrueden requested changes on this pull request.

Thanks for working on this! I requested some minor changes.

In .travis.yml https://github.com/fiji/fiji-builds/pull/1#discussion_r260361357:

@@ -1,7 +1,14 @@ -branches:

  • only:
    • master -install: true -script: ".travis/build.sh" -cache:
  • dates.txt +jobs: I've never used jobs before... I'm inclined to say it's overkill here? Could we instead use just os like the imagej-launcher project does https://github.com/imagej/imagej-launcher/blob/dead69b6780f76803da2b4fa5500a129c08940c1/.travis.yml? And then the shell script just has a small amount of case logic for things like installing dmgbuild only if the platform is macOS? I don't feel super strongly, though, and I'm not trying to create more work if you substantially prefer this jobs approach.

In dgm_legacy/generate-finder-background.py https://github.com/fiji/fiji-builds/pull/1#discussion_r260361705:

@@ -0,0 +1,81 @@ +from ij import IJ, ImagePlus Should this directory be called dmg_legacy? If so, I suggest rewriting the history to fix this typo.

In settings.py https://github.com/fiji/fiji-builds/pull/1#discussion_r260362141:

@@ -0,0 +1,122 @@ +# -- coding: utf-8 -- This looks too polished to be a one-off script hacked together by you... where did it come from? We should attribute it, no?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/fiji/fiji-builds/pull/1#pullrequestreview-208051217, or mute the thread https://github.com/notifications/unsubscribe-auth/Aq6bKjCONfmArmnxPinLsQvbiX9N1HQKks5vRVzlgaJpZM4bPgk1.

turekg commented 5 years ago

I see, what you mean, have the main shell script decide which part of the build it’s doing…. I am not a fan of scripts with lots of logic in them. I’d rather let travis handle the os’s and that way if anything changes whoever has to make fixes has only to worry about the relevant part gaby

On Feb 26, 2019, at 17:12, Curtis Rueden notifications@github.com wrote:

@ctrueden requested changes on this pull request.

Thanks for working on this! I requested some minor changes.

In .travis.yml https://github.com/fiji/fiji-builds/pull/1#discussion_r260361357:

@@ -1,7 +1,14 @@ -branches:

  • only:
    • master -install: true -script: ".travis/build.sh" -cache:
  • dates.txt +jobs: I've never used jobs before... I'm inclined to say it's overkill here? Could we instead use just os like the imagej-launcher project does https://github.com/imagej/imagej-launcher/blob/dead69b6780f76803da2b4fa5500a129c08940c1/.travis.yml? And then the shell script just has a small amount of case logic for things like installing dmgbuild only if the platform is macOS? I don't feel super strongly, though, and I'm not trying to create more work if you substantially prefer this jobs approach.

In dgm_legacy/generate-finder-background.py https://github.com/fiji/fiji-builds/pull/1#discussion_r260361705:

@@ -0,0 +1,81 @@ +from ij import IJ, ImagePlus Should this directory be called dmg_legacy? If so, I suggest rewriting the history to fix this typo.

In settings.py https://github.com/fiji/fiji-builds/pull/1#discussion_r260362141:

@@ -0,0 +1,122 @@ +# -- coding: utf-8 -- This looks too polished to be a one-off script hacked together by you... where did it come from? We should attribute it, no?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/fiji/fiji-builds/pull/1#pullrequestreview-208051217, or mute the thread https://github.com/notifications/unsubscribe-auth/Aq6bKjCONfmArmnxPinLsQvbiX9N1HQKks5vRVzlgaJpZM4bPgk1.

ctrueden commented 5 years ago

@turekg I didn't fully understand your intentions from the statements above. How shall we proceed? Are you going to switch from jobs over to os? Or are you saying you want to leave it as jobs? It feels like overkill to me, but if you want to leave it, I'm OK with it.

turekg commented 5 years ago

Hi Curtis, sorry, I meant that I’d like to leave as is, I like to have a clear distinction of what does what rather than one never-ending script gaby

On Mar 1, 2019, at 19:10, Curtis Rueden notifications@github.com wrote:

@turekg https://github.com/turekg I didn't fully understand your intentions from the statements above. How shall we proceed? Are you going to switch from jobs over to os? Or are you saying you want to leave it as jobs? It feels like overkill to me, but if you want to leave it, I'm OK with it.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/fiji/fiji-builds/pull/1#issuecomment-468757540, or mute the thread https://github.com/notifications/unsubscribe-auth/Aq6bKoNAI-ZJJ-WMRLAckZd8DBZQE1UPks5vSW0ngaJpZM4bPgk1.

turekg commented 5 years ago

OK, all done, you can pulll gaby

On 1. Mar 2019, at 21:44, Curtis Rueden notifications@github.com wrote:

On second thought: why do we have this dmg_legacy folder at all? It's not used, right? Can we just not commit it in the first place?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/fiji/fiji-builds/pull/1#issuecomment-468805386, or mute the thread https://github.com/notifications/unsubscribe-auth/Aq6bKkIeiFbE4JgQzik-qN0IGAGZCVwjks5vSZEfgaJpZM4bPgk1.

turekg commented 4 years ago

OK, I've merged the dmg build script into the build script.

turekg commented 4 years ago

So you have 3 choices:

1) I build everything on macos because the tools for the dmg are only available for mac os 2) I run two separate builds one on linux and one on mac, which seems a little silly, but OK. In this case I would prefer to have two separate build scripts just to be light on the if statements 3) I run a matrix build, one on linux, followed by one on mac (that was my original strategy).

The difference between 2) and 3) is that in 2) the builds run in parallel, hence I build everything from scratch in both builds. In 3) the builds run sequentially so only build the DMG from the newly produced mac tar distro. Also if linux fails, mac never even starts You let me know what your poison is. As it stands if you merge it'll be ready go with version 1)

turekg commented 4 years ago

BTW I deleted old comments that were no longer pertinent to clean this a bit. They pertained to the old perl code which is not even there anymore

ctrueden commented 4 years ago

Building everything on macOS seems fine to me!

Note that I'll be on vacation for the next week, so if you want to get this merged before that, maybe someone besides me could review in the meantime? @hinerm?

turekg commented 4 years ago

Great! If Mark can just have a quick look we can close this one.

turekg commented 4 years ago

Please also see my comment on https://github.com/imagej/imagej-updater/pull/86. It would be nice to resolve the bootstrap.js issue as well