activitysim icon indicating copy to clipboard operation
activitysim copied to clipboard

Add github workflow for windows installer creation

Open Chronial opened this issue 3 years ago • 3 comments
trafficstars

As discussed earlier this year, this adds a github workflow that creates a windows installer for activitysim. This installer is completely-self contained, i.e. it contains a python, activitysim and all its dependencies.

The installer is created using constructor. The github workflow is based on the workflow in miniforge.

Constructor uses conda for installation and retrieves activitysim and its dependencies from conda-forge when the installer is created. Since the workflow uses conda-forge as input, a installer for a new release can be created once the release is published on conda-forge.

An example installer created with this workflow can be found here: https://github.com/Chronial/activitysim/releases/tag/v1.0.4. The installer can be improved a bit by removing some confusing options once https://github.com/conda/constructor/commit/b3ba67f9d4988f408d8ca579596af853d949127b is released.

The workflow is set up to be triggered manually via the github web interface. Once this change is merged to master, that will be available under https://github.com/ActivitySim/activitysim/actions/workflows/build_installer.yml. It is currently available in my fork under https://github.com/Chronial/activitysim/actions/workflows/build_installer.yml. I assume that only collaborators have access to that. Please tell me if I should add somebody as collaborator to my fork for evaluation purposes.

Chronial avatar Sep 07 '22 12:09 Chronial

@jpn-- here's our draft installer. @Chronial is this ready for review? I think you need to add @jpn-- as a collaborator since he's currently managing the ActivitySim repo.

bstabler avatar Sep 13 '22 14:09 bstabler

Yes, this is ready for review. I already invited @jpn-- as a collaborator 👍 .

Chronial avatar Sep 13 '22 14:09 Chronial

Thanks @Chronial. We're closing in on the end of our Phase 7 work and looking to review and merge a big stack of enhancements in the next few weeks, and then into a release hopefully in October.

jpn-- avatar Sep 16 '22 11:09 jpn--

@jpn-- any update on the timing of pulling this? Thanks!

bstabler avatar Nov 10 '22 21:11 bstabler

I test this, it seems to work. Thanks!

One question: after I run the installer, I am not getting a shortcut to the ActivitySim environment appear in my start menu or on my desktop; I need to run C:/path/to/install/location/Scripts/activate.bat to activate the environment. Are you doing the same? Is this the expected outcome, or should there be a different route to get into the environment?

jpn-- avatar Dec 13 '22 00:12 jpn--

Yes, that is the expected behavior. ActivitySim can also be run directly via without activating the environment by running <install_location>/Scripts/ActivitySim.exe. That is also what we do in PTV Visum.

The installer checkbox about start menu shortcuts is rather confusing given that we don't create any shortcuts, but unfortunately constructor provides no simple to way to remove that checkbox, even after https://github.com/conda/constructor/commit/b3ba67f9d4988f408d8ca579596af853d949127b.

Chronial avatar Dec 13 '22 08:12 Chronial

Well that's unfortunate, given that the whole point of this installer is to offer users an easy and non-confusing way to install ActivitySim. But I suppose it is still a step in the right direction.

I'm merging this to our develop branch now. The consortium is wrapping up Phase 7 work and I expect we'll do a 1.2 release of ActivitySim that includes this installer by the end of the month or so.

jpn-- avatar Dec 13 '22 14:12 jpn--

thanks @jpn-- and @Chronial

bstabler avatar Dec 13 '22 15:12 bstabler