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
Dockerize verify-release-candidate.{sh,bat} #19323
Comments
Phillip Cloud / @cpcloud: docker pull apache/arrow-verify-release:latest
docker run apache/arrow-verify-release ./verify.sh |
Phillip Cloud / @cpcloud: |
Wes McKinney / @wesm: |
Wes McKinney / @wesm: |
Phillip Cloud / @cpcloud: For example, the script doesn't work if you're inside of a non-base conda environment that has ARROW_HOME set to CONDA_PREFIX. I should be able to verify the release for common platforms without having to think about what environment variables I have set or what state my shell is in. Yes, arrow is built and deployed in a number of places but AFAICT most people who run the release verification script are working on Ubuntu or OS X so we're not catching anything (or people are running it and running into bugs and not reporting it) now that we would not catch by moving to docker for this. |
Phillip Cloud / @cpcloud: |
Wes McKinney / @wesm: The script is intended to run in an environment that has not been polluted by any _HOME variables or anything else relating to Arrow development, ie simulating the experience of an average non-developer consumer. |
Uwe Korn / @xhochy: |
Phillip Cloud / @cpcloud: Just to be clear, I personally am not going to invest time in bending over backwards to keep the script cross-undocumented-system compatible. I'm not going to stress out about keeping it that way for systems whose setup I have no way to reproduce. I wasted a lot of time today only to figure out that the verification script can fail with a segfault when you are in a conda environment and have What is reasonable to me and what I think would solve the problem, is to provide a reliable way to set up each system we expect to be able to run on so that anyone can verify all supported platforms with minimal hassle. Is there an alternative to docker for solving this problem in a way that is acceptable to everyone? |
I think we should, in a nightly build
Other developers will be responsible for reporting problems and helping fix them. This is a shared responsibility and part of making sure Arrow runs in a lot of places.
I wanted someone other than Uwe or me to suffer a bit as a release manager so that more problems like these can be better documented and fixed. So what needs to be said to prevent this particular issue is: "run this script in a clean, unadulterated environment" (I know this from my past experience as an RM but I didn't write this down)
There's way too many possibilities. The best we can do is test the primary platforms (Ubuntu LTS releases, CentOS 6/7, Xcode 6.4 and higher, Windows MSVC 2015) and hope to catch more problems from users verifying the release on other platforms. For example, running these platforms would not have caught the Arch Linux issue that you reported from bleeding edge gcc. Really all we are doing is cutting down on build/deploy problems that may occur after a release is cut. Docker would help with automated testing a release candidate on the common platforms (Ubuntu, CentOS/RedHat/Fedora, Arch) but we still need to rely on others to verify the release on their platform and report problems. |
Krisztian Szucs / @kszucs: |
Wes McKinney / @wesm: |
Wes McKinney / @wesm: I think we should definitely make it more straightforward / simpler to set up the user environment to run the script though |
There are a number of issues with the linux version of this script that would disappear if the commands were all being run in a docker container.
Anyone with docker installed should be able to verify the release candidate
We could probably do the same for windows as well.
Reporter: Phillip Cloud / @cpcloud
Note: This issue was originally created as ARROW-2959. Please see the migration documentation for further details.
The text was updated successfully, but these errors were encountered: