Skip to content
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

Enable Windows package building with Azure #1560

Merged
merged 5 commits into from
Mar 4, 2019

Conversation

raimis
Copy link
Member

@raimis raimis commented Feb 26, 2019

Description

This is part of Psi4 porting to Windows (#933).

Enable conda package building for Windows with Azure.

Todos

Notable points (developer or user-interest) that this PR has or will accomplish.

  • Enable package building
    • Add conda recipe
  • Add an option to trigger package building
    • https://dev.azure.com/psi4/psi4 pipeline have to be configured to provide the following variables:
      • conda.build with default false (settable at queuing time)

Questions

Checklist

Status

  • Ready for review
  • Ready for merge

@raimis raimis mentioned this pull request Feb 26, 2019
@raimis raimis marked this pull request as ready for review February 27, 2019 10:09
@raimis
Copy link
Member Author

raimis commented Feb 27, 2019

@loriab could you add a pipeline variable, please.

conda/win/meta.yaml Outdated Show resolved Hide resolved
@loriab
Copy link
Member

loriab commented Feb 27, 2019

I've added the var on Azure (several hours ago now, sorry). Also sent invite for write access to psi4meta. There's no PRs there -- just free pushing to master. I'm expecting the diffs btwn Win and Linux/Mac recipes to be significant, so feel free to make a separate win conda dir or win recipe dirs, if you like. Or, if it's more convenient with Azure to keep the recipes w/i the p4 repo, the conda/ dir is fine. I'm the only one who looks in there.

@raimis raimis force-pushed the azure_package branch 2 times, most recently from a23eced to 2dcd11f Compare March 1, 2019 14:51
@raimis
Copy link
Member Author

raimis commented Mar 1, 2019

Now Azure can build an optimized Psi4, run all the tests, and make a conda package: https://dev.azure.com/raimisg/psi4/_build/results?buildId=569

Queue time variables:

cmake.build_type= Release
conda.build=true
ctest.type=full
pytest.type=full
python.version=3.6

The built package is on Anaconda: https://anaconda.org/raimis/psi4/files

You can install and try:

conda install -c raimis -c conda-forge psi4

@raimis
Copy link
Member Author

raimis commented Mar 1, 2019

@loriab I see you have already created, 1.3.x branch. This PR effectively have to be merged to both 1.3.x and master.

@loriab
Copy link
Member

loriab commented Mar 1, 2019

Wonderful news! And got it -- will figure out the two way merge. Now to find someone with a Windows box to try this out ...

Copy link
Member

@loriab loriab left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hooray, lgtm

- networkx
- numpy
- pytest
- python={{ PY_VER }}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ultimately, I think we'll want to break out separate packages for deps and to use run_exports and pin_compatible for version constraints, but great for now.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I agree! Currently, libxc and libinit are statically linked. So the dependency shouldn't be a problem.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Completely agree -- can't cause trouble as-is.

@raimis
Copy link
Member Author

raimis commented Mar 1, 2019

OK! So this PR goes to master. After it is merged, I will cherry pick and make a PR to 1.3.x.

@loriab
Copy link
Member

loriab commented Mar 1, 2019

OK! So this PR goes to master. After it is merged, I will cherry pick and make a PR to 1.3.x.

Sounds good. Slight complication is that when I wrote the versioner.py script that computes our version (and integrates w/cmake), I had the misguided notion that all commits on a release branch were version increments (that is, your PR would turn into v1.3.1 or .2), so I'll have to unwind that scheme before any proper tag of a v1.3.1 w/your PR. Just FYI.

Copy link
Member

@andysim andysim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great! Thank you for figuring this out. LGTM

@robertodr robertodr merged commit 4791a8e into psi4:master Mar 4, 2019
@loriab loriab added the backport label Mar 4, 2019
@loriab loriab added this to the Psi4 1.4 milestone Mar 4, 2019
loriab pushed a commit to loriab/psi4 that referenced this pull request Apr 7, 2019
* Add conda recipe for Windows

* Enable package building

* Package Psi4 scripts

* Add an option to trigger package building

* Clean up conda/win/meta.yaml
@loriab loriab mentioned this pull request Apr 7, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants