Skip to content

Conversation

aphearin
Copy link
Contributor

empirical_models and mock_observables were previously trying to import each other, causing an ImportError that was not caught by CI since Travis is currently failing due to unrelated reasons.

@aphearin aphearin added this to the v0.5 milestone Mar 22, 2017
@aphearin aphearin self-assigned this Mar 22, 2017
@aphearin
Copy link
Contributor Author

After resolving the ImportError problem that was the original intent of this PR, I made some minor changes throughout the test suite in an attempt to resolve the Travis and AppVeyor build problems. All now appears to be good with AppVeyor, although Travis still has a few problems for certain configurations. See #710 for details

@aphearin aphearin merged commit ea8c856 into astropy:master Mar 23, 2017
@aphearin aphearin deleted the import_bugfix branch March 23, 2017 03:24
@aphearin
Copy link
Contributor Author

When I merged this PR, there were actually no build failures on either Travis or AppVeyor, so in principle this PR resolves #720. However, I had to rerun the test a couple of times in order for it to pass, so this is not really a solved problem. See #710 for discussion.

@aphearin
Copy link
Contributor Author

Thanks for the tip, @bsipocz. I think that's a fine workaround since it accomplishes the needed testing, and maintains the documentation. I just checked my current testing suite and verified that the exact syntax I commented out of the doctests is actually already covered in a unit-testing module, so in the end, commenting out these few doctest lines actually has no consequence (though I didn't know that at the time.)

The most recently merged PR #713 actually passes all CI builds, so in principle Halotools is back on track. But I had to manually rebuild several different configurations in order to get 100% passes. So, in other words, for a given test, sometimes it passes, sometimes it fails, even with no changes to the source code. I expect this will continue to be the case, which will make it difficult to manage future development.

All this time, I have never had a local failure. That probably means these are CI-environment specific failures and nothing to worry about. But all the same, this is uncomfortable since I'm on the verge of release. In fact, there are no other outstanding v0.5 Milestone Issues or PRs. This is it. If I could be confident that there were no real failures to worry about, I'd go ahead and put the current version of master up on pip as v0.5, no changes.

Probably the thing to do now is to notify my colleagues and collaborators that v0.5 is about to come out, and get some independent verifications with a bunch of different machines that all is kosher. Then if there are no reports of problems, then we can be more confident that the CI build problems are actually only problems on an unrealistically restricted CI environment.

I would not mind delaying release for the sake of ensuring code stability. So if either @eteq or @bsipocz have suggestions for other things to try before notifying the core user base and then releasing, please let me know.

@bsipocz
Copy link
Member

bsipocz commented Mar 23, 2017

@aphearin - Have you though about doing a release candidate? That would allow you to get an easier way of testing by a group of collaborators, installing from pip, while the wider usebase remain unaffected.
The other approach is to release, and whenever a valid and real bug report comes relating to this, release a bugfix 0.5.1. However this option can be more work as involves the maintenance of a bugfix branch.

@aphearin
Copy link
Contributor Author

@bsipocz - I have not done a "candidate release" before, but I like that idea. Is that release procedure any different from what I normally do?

I'd rather not manage bug-fix branches if I can help it, it's just more work than I'd like to take on if possible.

@bsipocz
Copy link
Member

bsipocz commented Mar 23, 2017

It's more or less the same, the trick is in the version numbering, you want to make sure pip recognizes that it's a pre-release, so pip install halotools wont pick it up.
http://docs.astropy.org/en/stable/development/releasing.html#modifications-for-a-beta-release-candidate-release

@aphearin
Copy link
Contributor Author

Ha! Obviously I've just passed over that section too many times to notice it anymore :-\ Thanks for the tip, this is probably how I'll handle the situation.

@bsipocz
Copy link
Member

bsipocz commented Mar 23, 2017

That's in another docs, and since you're not planning on bugfix branching, it's unlikely to click on the link in the note at the bottom of the page :)
So maybe we need to repeat that about the prerelease in the affiliate release page, too.

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.

2 participants