[MXNET-1188] Maven Publishing Test Environments#13707
[MXNET-1188] Maven Publishing Test Environments#13707lanking520 merged 1 commit intoapache:masterfrom
Conversation
|
@mxnet-label-bot add [CI, Java, Maven, Scala, pr-awaiting-review] |
marcoabreu
left a comment
There was a problem hiding this comment.
Approved d4ac689 only (as requested in the description)
|
@frankfliu - You may be interested in this PR |
lanking520
left a comment
There was a problem hiding this comment.
Overall looks good, please address the comments
lanking520
left a comment
There was a problem hiding this comment.
Overall looks good. Please also apply changes to the scripts in dev folder which reflect Frank's build changes
| # specific language governing permissions and limitations | ||
| # under the License. | ||
| # | ||
| # Dockerfile to build and run MXNet on Ubuntu 16.04 for CPU |
|
@aaronmarkham I tried a couple of time to restart the tests however it seemed not to be flaky. Could you please take a look in here? |
| def get_platforms(path: str = get_dockerfiles_path()) -> List[str]: | ||
| """Get a list of architectures given our dockerfiles""" | ||
| dockerfiles = glob.glob(os.path.join(path, "Dockerfile.build.*")) | ||
| dockerfiles = glob.glob(os.path.join(path, "Dockerfile.*")) |
There was a problem hiding this comment.
All the files added by you have Dockerfile.publish as the naming convention.
Should we add ".publish" as well to the wildcard file search ? Since for the purpose of this method is to get platforms for publishing artifacts.
WDYT ?
There was a problem hiding this comment.
This is part of the main CI code and tries to find all Dockerfiles (for caching purposes). So, it should cover both the .build and .publish dockerfiles.
I've seen this "bad address" error come up a few times recently. Restarting the CI pipeline for the failed test seems to work. I restarted it. |
| set -ex | ||
| apt-get update || true | ||
| apt-get install -y \ | ||
| build-essential \ |
There was a problem hiding this comment.
Why all of this when it happens with ubuntu_core.sh? What's the difference supposed to be?
There was a problem hiding this comment.
The difference is the mxnet dependencies (opencv, cuda, blas, etc.). Core should include them because it uses them to build and test mxnet throughout the CI. base should not include them because it is only for testing whether the static linking works in the publishing pipeline and the tests might erroneously pass if the dependencies are installed on the system.
There was a problem hiding this comment.
base should not include them because it is only for testing whether the static linking works in the publishing pipeline and the tests might erroneously pass if the dependencies are installed on the system.
@zachgk In that case we better test on a vanilla system? Why install all the development dependencies listed in ubuntu_base.sh if only testing the binaries? Could you help to clarify?
There was a problem hiding this comment.
The goal is less to test binaries than to test Scala. So, we still need a few dependencies (jdk, maven, git, wget, etc). It's mostly the dependencies that are statically linked that need to be excluded.
Description
This PR is the second part of the maven Jenkins publishing that adds testing of the produced packages on 16.04, 18.04, and centOS. It also creates dedicated publishing dockerfiles (on 14.04) and testing dockerfiles that are built without any dependencies to ensure that the static linking worked properly.
Because the packages built on this do not yet use static linking, it instead tests against the snapshot repository.
Note that this PR depends on (and is rebased on top of) #13450. When reviewing the files, please look at only the changes in d4ac689.
Please review so the pipeline can be put into production:
@nswamy @lanking520 @andrewfayres @piyushghai @marcoabreu @yzhliu
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.