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

Update 0.11.14 #3

Merged
merged 1 commit into from
Jan 13, 2017
Merged

Update 0.11.14 #3

merged 1 commit into from
Jan 13, 2017

Conversation

jakirkham
Copy link
Member

@jakirkham jakirkham commented Nov 6, 2016

Closes #2
Closes #7

I suspect this will fix issue ( conda-forge/conda-smithy#351 ).

Pulled these changes from anaconda-recipes mainly with some other tweaks.

cc @mwcraig @MSeifert04 @conda-forge/core

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

# coding: utf-8
from __future__ import print_function, absolute_import

__version__ = "0.11.7"

Choose a reason for hiding this comment

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

This seems wrong compared with the 0.11.14 everywhere else...

Copy link
Member Author

Choose a reason for hiding this comment

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

This is replaced by this sed call.

Copy link
Member Author

Choose a reason for hiding this comment

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

Note it is run on Unix and Windows.

Copy link
Member Author

Choose a reason for hiding this comment

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

That said I can pick something else it looks like. For example, __version__ = "$VERSION" or similar as it replaces all lines with __version__ in them.

@jakirkham jakirkham mentioned this pull request Nov 6, 2016
@jakirkham
Copy link
Member Author

@kalefranz can you please advise how to proceed with this?

Copy link
Contributor

@mwcraig mwcraig left a comment

Choose a reason for hiding this comment

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

Never tried building this so can't really make any intelligent comments on the broader issue...but the immediate build problem is an easy fix.

@@ -1,8 +1,6 @@
{% set version = "0.11.7" %}
Copy link
Contributor

Choose a reason for hiding this comment

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

Removing this is causing a fail when the recipe tries to render (see comment below )

Copy link
Member Author

@jakirkham jakirkham Nov 7, 2016

Choose a reason for hiding this comment

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

Yeah there was an error when staging. Fixing it 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.

Note: Still shows up in the diff as the version was bumped. Please see the line below for the version bump.

package:
name: ruamel_yaml
version: 0.11.7
version: 0.11.14

source:
fn: ruamel_yaml-{{ version }}.tar.gz
Copy link
Contributor

Choose a reason for hiding this comment

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

Fails here

Copy link
Contributor

Choose a reason for hiding this comment

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

Actually, seems like {{ version }} may as well be used in the package section too.

Copy link
Member Author

Choose a reason for hiding this comment

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

Good point. 👍

@mwcraig
Copy link
Contributor

mwcraig commented Nov 7, 2016

One other comment: any reason not to grab the source from the mercurial repo like the continuum recipe does?

@jakirkham
Copy link
Member Author

One other comment: any reason not to grab the source from the mercurial repo like the continuum recipe does?

We have preferred downloading tarballs and the like. As that actually does work ok here (with the right URL), it makes sense that we go ahead and do it.

@jakirkham
Copy link
Member Author

FYI have submitted most of the changes to these patches upstream in PR ( ContinuumIO/anaconda-recipes#57 ) assuming that is the official source.

@jakirkham
Copy link
Member Author

I think I kind of have this working. Would be good to get another review of these changes.

@jakirkham
Copy link
Member Author

@mingwandroid , could really use your help sorting this out. 😟

@mingwandroid
Copy link

I'll try to take a look tomorrow.

@kalefranz
Copy link
Member

Sorry I'm late to the party here. Just saw this. Will try to get some time today to work on it.

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@jakirkham jakirkham changed the title WIP: Update 0.11.14 Update 0.11.14 Jan 6, 2017
@jakirkham
Copy link
Member Author

jakirkham commented Jan 6, 2017

Appears all that was needed was to change m2-bash to posix. Thanks to @pkgw for figuring that out. Appears this is passing on AppVeyor (status didn't update in GitHub fixed) and everywhere else. Would appreciate a final review and merge.

@pkgw
Copy link

pkgw commented Jan 6, 2017

This version still has the weird problem with pulling out the version from the source files on Windows; note this line in the log file. That gets propagated into the setup.py having an empty version string. My PR fixes that by restructuring the bash script a bit (although I won't claim to understand why the version here doesn't work). So, I think my PR should be merged rather than this one.

RECIPE_DIR=${1-$RECIPE_DIR}
SRC_DIR=${2-$SRC_DIR}

VERSION=$(cd $SRC_DIR && python setup.py --version)
Copy link
Member Author

Choose a reason for hiding this comment

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

Thanks for raising the version point on AppVeyor, @pkgw , was not aware of that issue. For whatever reason, this seemed to not affect Linux and macOS, but in retrospect it probably should.

It seems that before python setup.py --version was not being run in the source directory, but instead the path to setup.py was being provided. From past experience, have found this to be a bad idea. So have updated this line so that we switch to the source directory. As can be seen by the referenced build, the problem goes away with this change.

xref: https://ci.appveyor.com/project/jakirkham/ruamel-yaml-feedstock/build/1.0.1/job/oetlp37xtcp8eima#L586

@jakirkham
Copy link
Member Author

Have submitted some additional fixes based off this work upstream in PR ( ContinuumIO/anaconda-recipes#72 ).

@pkgw
Copy link

pkgw commented Jan 8, 2017

Time to merge one of these bad boys and finally get this released?

This includes a ton of patches and other changes from upstream and
various other modifications to make them compatible at conda-forge.
@jakirkham
Copy link
Member Author

Are there any more concerns that you think need to be addressed in this PR, @pkgw and/or others?

Note that upstream is making some rather large changes to how they build ruamel_yaml. However, I don't think we need to address them right now. They can certainly be addressed in a follow-up PR.

@pkgw
Copy link

pkgw commented Jan 10, 2017

The build logs look OK to me, so I guess I'd say go for it. I'd be happier if there was a way to test more thoroughly since this package is so low in the dependency stack ... is there?

@jjhelmus
Copy link

LGTM. Agree with @pkgw that a better test method would be good since if this package is broken so is conda. There is a _test directory in the source directory. Is there a reasonable way to run those with pytest?

@pkgw
Copy link

pkgw commented Jan 11, 2017

Running internal tests is, obviously, good, but I don't think you can become really confident until you test out installation of the package in a full Conda environment. You could imagine adding some commands to the test suite that exercise conda and friends to see that they still work, I suppose?

Linux distributions have been playing this game a long time and they all have "testing" channels where new packages are deployed and, hopefully, given some real-world testing before being promoted to be distributed to the full user base. Would be nice to work toward having a similar setup for conda-forge.

@jakirkham
Copy link
Member Author

These are all good ideas.

Some of them have come up in some form before. For example, have some additional package install step after the build, but before upload. This would be done for things like conda, conda-build, python, perhaps this, etc. Also downloading and testing random packages. Initial motivation was for handling ABI issues that may arise.

This all said, many of these are rather nebulous and involve changes that extend beyond this update PR. I'm in favor of discussing and pursuing them as they become better formed, but don't think this PR is the proper context for doing so. Please feel free to follow-up on those issue and share other thoughts/suggestions or raise new ones if needed.

xref: conda-forge/conda-smithy#253
xref: conda-forge/conda-forge.github.io#113

@pkgw
Copy link

pkgw commented Jan 12, 2017

Agreed. @jakirkham I think it's time to merge this.

@jakirkham
Copy link
Member Author

Thanks @pkgw. Would someone like to do the honors?

@mwcraig
Copy link
Contributor

mwcraig commented Jan 13, 2017

Sure, I'll do the easy part 😀

@mwcraig mwcraig merged commit 71fb31b into conda-forge:master Jan 13, 2017
@jakirkham jakirkham deleted the update_0.11.14 branch January 13, 2017 21:54
@jakirkham
Copy link
Member Author

Thanks @mwcraig.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Package version 0.11.14
8 participants