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

Issue reproducing your builds on a fork #1

Open
danielballan opened this issue Jul 28, 2014 · 11 comments
Open

Issue reproducing your builds on a fork #1

danielballan opened this issue Jul 28, 2014 · 11 comments

Comments

@danielballan
Copy link

This is really great. Thank you so much for sharing it. I am sure many people will use it, and I wouldn't be surprised to see the big projects adopt it in time.

I tired out a fork this morning, and I started setting it up for my research codes as well. Once I get the hang of it, I'll propose it to other larger projects (I'm thinking in particular of pandas).

First issue: I get an error during the testing phase. See for example this job which is an unchanged fork of your example. The error is:

TEST START: pyappveyordemo-1.0.dev-np18py27_0
Traceback (most recent call last):
File "C:\Python27_32\Scripts\conda-build-script.py", line 4, in <module>
sys.exit(main())
File "C:\Python27_32\lib\site-packages\conda_build\main_build.py", line 93, in main
args.func(args, p)
File "C:\Python27_32\lib\site-packages\conda_build\main_build.py", line 252, in execute
build.test(m, verbose=not args.quiet)
File "C:\Python27_32\lib\site-packages\conda_build\build.py", line 373, in test
m_rf(prefix)
File "C:\Python27_32\lib\site-packages\conda_build\utils.py", line 69, in rm_rf
subprocess.check_call(['cmd', '/c', 'rd', '/s', '/q', path])
File "C:\Python27_32\lib\subprocess.py", line 540, in check_call
aise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '[u'cmd', u'/c', u'rd', u'/s', u'/q', u'C:\\Python27_32\\envs\\_build']' returned non-zero exit status 145
Command exited with code 1

Second issue: To explore, I removed the test block from meta.yaml. The next failure is having to do with a 404 from binstar.

python continuous-integration\binstar-push.py
detecting package type ...
conda
extracting package attributes for upload ...
done
NotFound Not Found: Nothing matches the given URI (status code: 404)
Traceback (most recent call last):
File "continuous-integration\binstar-push.py", line 12, in <module>
traceback.print_last()
File "C:\Python27_32\lib\traceback.py", line 251, in print_last
raise ValueError("no last exception")
ValueError: no last exception
Command exited with code 1

The full log for that job is here.

Again, thank you for making this! I will eager contribute if I can once I get it up and running on some projects.

@rmcgibbo
Copy link
Owner

The first issue is one that I'm having too. I filed an issue on conda-build, but I'm not sure exactly what the reason for it is. The fact that it's intermittent makes me wonder if these some kind of race condition. conda/conda-build#152

@rmcgibbo
Copy link
Owner

For the second issue, I fixed the error from the printing of the traceback, 2e1dce9, but I'm not sure about the 404. Do you have a binstar account? Have you tried pushing to binstar from your local machine?

@asmeurer
Copy link

I can't reproduce this on Windows 7 or XP. Do either of you have Windows machines where you can test it? It's either a Windows 8 thing (I don't have Visual Studio installed in my Windows 8 VM), or an AppVeyor issue.

@rmcgibbo
Copy link
Owner

You might be able to fork this repo to run on Appveyor? Unfortunately that's a tricky environment to debug in, since you get one shot every ~30 minutes. FWIW, I haven't been able to reproduce the issue either on my XP VM.

@danielballan
Copy link
Author

The second issue (the 404 problem) is resolved. I was not specifying a version in meta.yaml. Apparently this is required.

I have a Windows 7 VM set up, but not Windows 8.

@asmeurer
Copy link

Yes, every package has to have a name and a version. conda build should tell you if these fields are missing.

@rmcgibbo
Copy link
Owner

My script currently bypasses the version in meta.yml by dynamically writing __conda__version__.txt during setup.py

@danielballan
Copy link
Author

OK. I produced a working build of my research code, uploaded to binstar. Let's see if we can sort out what these race conditions might be.

@asmeurer
Copy link

Ah. I think you may still have to put a dummy version in the meta.yaml, as the checks happen before the build starts.

@mwcraig
Copy link

mwcraig commented Aug 8, 2014

I also, not unexpectedly, hit the same intermittent failures.

For the projects I'm involved in, though, that problem doesn't matter because the tests are more easily run through python setup.py test anyway, bypassing the underlying issue that comes up when conda tries to remove the _build environment before testing.

That variant is at astropy/astropy#2836 if you want to see it...

@asmeurer
Copy link

asmeurer commented Aug 8, 2014

Right, it's probably not really necessary to use the conda build test environment to run the full test suite, since appveyor is already isolated. I would just use it as a smoke test that the build didn't fail in this situation.

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

No branches or pull requests

4 participants