Skip to content

Conversation

@ianmcook
Copy link
Member

@ianmcook ianmcook commented Mar 1, 2021

Not implemented for Windows yet (that's ARROW-11884)

@github-actions
Copy link

github-actions bot commented Mar 1, 2021

Copy link
Member

@nealrichardson nealrichardson left a comment

Choose a reason for hiding this comment

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

In general this looks like the right direction. I'm not certain that the configure script changes are exactly what we want but I'll need to think some more about it.

@nealrichardson
Copy link
Member

Oh, one other thing: in inst/build_arrow_static/sh, you'll want to make ARROW_PARQUET and ARROW_DATASET configurable by env var but default ON, just like ARROW_JEMALLOC. That way, we can make a CI job that sets them to OFF in the env so we can test this.

r/tools/autobrew Outdated
@@ -48,7 +48,8 @@ fi
# Hardcode this for my custom autobrew build
rm -f $BREWDIR/lib/*.dylib
AWS_LIBS="-laws-cpp-sdk-config -laws-cpp-sdk-transfer -laws-cpp-sdk-identity-management -laws-cpp-sdk-cognito-identity -laws-cpp-sdk-sts -laws-cpp-sdk-s3 -laws-cpp-sdk-core -laws-c-event-stream -laws-checksums -laws-c-common -lpthread -lcurl"
PKG_LIBS="-L$BREWDIR/lib -lparquet -larrow_dataset -larrow -larrow_bundled_dependencies -lthrift -llz4 -lsnappy -lzstd $AWS_LIBS"
PKG_LIBS="-lparquet -larrow_dataset -larrow -larrow_bundled_dependencies -lthrift -llz4 -lsnappy -lzstd $AWS_LIBS"
PKG_DIRS="-L$BREWDIR/lib"
Copy link
Member

Choose a reason for hiding this comment

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

We will need to remember to upstream this change when we release to CRAN

Copy link
Member Author

Choose a reason for hiding this comment

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

What is the relationship of this script (r/tools/autobrew) to https://github.com/autobrew/scripts/blob/master/apache-arrow?

Copy link
Member

Choose a reason for hiding this comment

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

It's based on an earlier version of Jeroen's autobrew, and it's closest now to how he actually builds the C++ dependencies. It looks like the new autobrew script is based on some artifacts that are bundled up in a separate process (see https://github.com/autobrew/bundler/blob/master/apache-arrow.sh).

Copy link
Member Author

Choose a reason for hiding this comment

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

I created ARROW-11861 to remind us of this.

Copy link
Member Author

@ianmcook ianmcook Apr 29, 2021

Choose a reason for hiding this comment

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

Turns out we also needed to add -DARROW_R_WITH_PARQUET and -DARROW_R_WITH_DATASET to the cflags in https://github.com/autobrew/scripts/blob/master/apache-arrow (ARROW-12604)

@ianmcook
Copy link
Member Author

ianmcook commented Mar 4, 2021

Oh, one other thing: in inst/build_arrow_static/sh, you'll want to make ARROW_PARQUET and ARROW_DATASET configurable by env var but default ON, just like ARROW_JEMALLOC. That way, we can make a CI job that sets them to OFF in the env so we can test this.

Done in 8c5b235dddac47833b229323b4a216049eae5fea

@ianmcook ianmcook marked this pull request as ready for review March 4, 2021 15:21
@ianmcook
Copy link
Member Author

ianmcook commented Mar 4, 2021

@github-actions crossbow submit test-r-minimal-build

@ianmcook
Copy link
Member Author

ianmcook commented Mar 4, 2021

@nealrichardson do you want LIBARROW_MINIMAL to toggle Dataset and Parquet? I assume no.

@nealrichardson
Copy link
Member

@nealrichardson do you want LIBARROW_MINIMAL to toggle Dataset and Parquet? I assume no.

Correct, we don't want to change that meaning (yet).

@github-actions
Copy link

github-actions bot commented Mar 4, 2021

Revision: 6f70c9911262d5d956c7f4ded49647269af848d9

Submitted crossbow builds: ursacomputing/crossbow @ actions-175

Task Status
test-r-minimal-build Azure

@@ -47,6 +47,9 @@ jobs:
export R_ORG={{ r_org }}
export R_IMAGE={{ r_image }}
export R_TAG={{ r_tag }}
export ARROW_DATASET={{ arrow_dataset|default("ON") }}
export ARROW_PARQUET={{ arrow_parquet|default("ON") }}
Copy link
Member

@nealrichardson nealrichardson Mar 4, 2021

Choose a reason for hiding this comment

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

Unfortunately this didn't pass through all the way: https://dev.azure.com/ursacomputing/crossbow/_build/results?buildId=1721&view=logs&j=0da5d1d9-276d-5173-c4c4-9d4d4ed14fdb&t=6c939d89-0d1a-51f2-8b30-091a7a82e98c&l=240

Setting them here affects the environment in which docker-compose is called, but it doesn't forward into the docker environment.

I believe what you instead want is to pass them into docker-compose below, something like docker-compose -e ARROW_DATASET={{ arrow_dataset|default("ON") }} -e ARROW_PARQUET={{ arrow_parquet|default("ON") }} -e ARROW_S3={{ arrow_s3|default("ON") }} r

Copy link
Member Author

Choose a reason for hiding this comment

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

Got it, thanks. Let's see if it works to add them to .env (066ce065124cf7dcaa08225cae83177594da3965) and if not then I'll do it with -e.

Copy link
Member Author

Choose a reason for hiding this comment

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

Oops, need to append not overwrite. Fixed in 318371fbaa07f1b6fcdf71f58d7d5460a931da13

Copy link
Member

Choose a reason for hiding this comment

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

I think the only danger to appending to the .env file is that if you ran this locally, wouldn't it modify the file locally?

Copy link
Member Author

Choose a reason for hiding this comment

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

Ok, if folks might be running these commands locally then I can see how that would cause damage.
Looks like it didn't work anyhow. I will investigate.

Copy link
Member

Choose a reason for hiding this comment

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

Ah yeah, I think it's the same problem--note (for comparison) that R_ORG et al. are in the .env file, and they're environment variables for docker-compose, not passed into the docker container.

The fact that ARROW_R_DEV is in the env file, and then passed through in docker-compose.yml to the build environments, may just be due to my ignorance of all of this at the time I added it.

Copy link
Member Author

Choose a reason for hiding this comment

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

Ok, thanks. I tried a few different things just for kicks, then used -e per your suggestion in 9479c6ce079c7230b0e290dcb5658436d1d62fde

Copy link
Member Author

Choose a reason for hiding this comment

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

@ianmcook
Copy link
Member Author

ianmcook commented Mar 4, 2021

@github-actions crossbow submit test-r-minimal-build

@github-actions
Copy link

github-actions bot commented Mar 4, 2021

Revision: 318371fbaa07f1b6fcdf71f58d7d5460a931da13

Submitted crossbow builds: ursacomputing/crossbow @ actions-177

Task Status
test-r-minimal-build Azure

@ianmcook
Copy link
Member Author

ianmcook commented Mar 5, 2021

@github-actions crossbow submit test-r-minimal-build

@github-actions
Copy link

github-actions bot commented Mar 5, 2021

Revision: 27c514cb1b14e7125e8ba50714c6480c93dc231a

Submitted crossbow builds: ursacomputing/crossbow @ actions-181

Task Status
test-r-minimal-build Azure

@ianmcook
Copy link
Member Author

ianmcook commented Mar 5, 2021

@github-actions crossbow submit test-r-minimal-build

@github-actions
Copy link

github-actions bot commented Mar 5, 2021

Revision: a810b3fce373c7f5090e367e5a6afc70db60414a

Submitted crossbow builds: ursacomputing/crossbow @ actions-182

Task Status
test-r-minimal-build Azure

@ianmcook
Copy link
Member Author

ianmcook commented Mar 5, 2021

@github-actions crossbow submit test-r-minimal-build

@github-actions
Copy link

github-actions bot commented Mar 5, 2021

Revision: 9479c6ce079c7230b0e290dcb5658436d1d62fde

Submitted crossbow builds: ursacomputing/crossbow @ actions-184

Task Status
test-r-minimal-build Azure

@ianmcook
Copy link
Member Author

ianmcook commented Mar 5, 2021

@github-actions crossbow submit -g r

@ianmcook
Copy link
Member Author

ianmcook commented Mar 5, 2021

@github-actions crossbow submit test-r-without-dataset-parquet-s3

@github-actions
Copy link

github-actions bot commented Mar 5, 2021

Revision: 6eda5896c638ca1c7af577c02ec56bd802a2fe42

Submitted crossbow builds: ursacomputing/crossbow @ actions-185

Task Status
conda-linux-gcc-py36-cpu-r36 Azure
conda-linux-gcc-py37-cpu-r40 Azure
conda-osx-clang-py36-r36 Azure
conda-osx-clang-py37-r40 Azure
conda-win-vs2017-py36-r36 Azure
conda-win-vs2017-py37-r40 Azure
homebrew-r-autobrew Github Actions
test-r-linux-as-cran Github Actions
test-r-rhub-ubuntu-gcc-release Azure
test-r-rocker-r-base-latest Azure
test-r-rstudio-r-base-3.6-bionic Azure
test-r-rstudio-r-base-3.6-centos7-devtoolset-8 Azure
test-r-rstudio-r-base-3.6-centos8 Azure
test-r-rstudio-r-base-3.6-opensuse15 Azure
test-r-rstudio-r-base-3.6-opensuse42 Azure
test-r-version-compatibility Github Actions
test-r-versions Github Actions
test-r-without-dataset-parquet-s3 Azure
test-ubuntu-18.04-r-sanitizer Azure

@github-actions
Copy link

github-actions bot commented Mar 5, 2021

Revision: 6eda5896c638ca1c7af577c02ec56bd802a2fe42

Submitted crossbow builds: ursacomputing/crossbow @ actions-186

Task Status
test-r-without-dataset-parquet-s3 Azure

@ianmcook
Copy link
Member Author

ianmcook commented Mar 5, 2021

The environment variables are being set in the container now, and Arrow is building with Dataset and Parquet off, but S3 is remaining on despite the environment variable.

@ianmcook
Copy link
Member Author

ianmcook commented Mar 6, 2021

Sorry, I just merged the dataset mutate() PR which added a cpp function. Can you please rebase and update the annotation on that function? Otherwise this is looking good, will merge.

Done

@ianmcook
Copy link
Member Author

ianmcook commented Mar 6, 2021

@github-actions crossbow submit test-r-minimal-build

@github-actions
Copy link

github-actions bot commented Mar 6, 2021

Revision: b5ed1c0

Submitted crossbow builds: ursacomputing/crossbow @ actions-197

Task Status
test-r-minimal-build Azure

@nealrichardson
Copy link
Member

@github-actions crossbow submit test-r-minimal-build

@github-actions
Copy link

github-actions bot commented Mar 6, 2021

Revision: 96e9104

Submitted crossbow builds: ursacomputing/crossbow @ actions-198

Task Status
test-r-minimal-build Azure

Copy link
Member

@nealrichardson nealrichardson left a comment

Choose a reason for hiding this comment

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

This is great, thanks for doing this.

I'm going to try one more thing with the crossbow jobs, will revert if it's no good, and then merge.

@nealrichardson
Copy link
Member

@github-actions crossbow submit test-r-rstudio* test-r-minimal-build

@github-actions
Copy link

github-actions bot commented Mar 6, 2021

Revision: 1b1680f

Submitted crossbow builds: ursacomputing/crossbow @ actions-199

Task Status
test-r-minimal-build Azure
test-r-rstudio-r-base-3.6-bionic Azure
test-r-rstudio-r-base-3.6-centos7-devtoolset-8 Azure
test-r-rstudio-r-base-3.6-centos8 Azure
test-r-rstudio-r-base-3.6-opensuse15 Azure
test-r-rstudio-r-base-3.6-opensuse42 Azure

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants