Skip to content

Conversation

@wesm
Copy link
Member

@wesm wesm commented Sep 15, 2017

Since we're accumulating a bunch of components, I started this script which we can refine to make verifying releases easier for others.

I bootstrapped some pieces off https://github.com/apache/parquet-cpp/blob/master/dev/release/verify-release-candidate, very helpful!

This script:

  • Checks GPG signature, checksums
  • Installs temporary Python install for the duration of these tests
  • Builds/install C++ and runs tests (with Python and Plasma)
  • Builds parquet-cpp against the Arrow RC
  • Python (with Parquet and Plasma extensions)
  • C GLib (requires Ruby in PATH and the gems indicated in README)
  • Integration tests
  • JavaScript (requires NodeJS >= 6.0.0)

There are some potentially snowflake-y aspects to my environment:

  • BOOST_ROOT is set to a Boost install location containing libraries built with -fPIC. I'm not sure what to do about this one. One maybe better option is to use system level boost and shared libraries
  • Maven 3.3.9 is in PATH
  • NodeJS 6.11.3 is in PATH

There are probably some other things that Linux users will run into as they run this script.

I had to compile GLib libraries in this since the ones at system level (Ubuntu 14.04) are too old.

cc @kou @xhochy

Change-Id: Ida0d5a74765e28f8f88306edfef12f6bf723c859
Change-Id: I827922474a9180396079e1b377f52df683fc4696
Change-Id: I0d26139a7fdf7ebc62ff2937509209fec2e9d5d3
Copy link
Member

@kou kou left a comment

Choose a reason for hiding this comment

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

+1 Great! It's very helpful!

mkdir parquet-cpp/build
pushd parquet-cpp/build

cmake .. -DCMAKE_INSTALL_PREFIX=$PARQUET_HOME \
Copy link
Member

Choose a reason for hiding this comment

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

This ".." is redundant.



test_glib() {
# Build and test GLib, requires newer GLib (I used 2.52.3), so install that
Copy link
Member

Choose a reason for hiding this comment

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

GLib 2.44 or later is required. Because I used G_DECLARE_DERIVABLE_TYPE().

Copy link
Member

Choose a reason for hiding this comment

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

Change-Id: Id7278ede0ebb0da91060ed769309bc4addd469e7
Change-Id: I81be820d1c345ba364c2e5fb9a4ed2f24f1f15a0
@wesm
Copy link
Member Author

wesm commented Sep 15, 2017

I'm going to change the Boost stuff to use shared libraries since using static libraries will cause problems for people using libraries from a Linux package manager

Change-Id: Id840b188db8d6b9d96ef1feacb3918302574af7c
@xhochy
Copy link
Member

xhochy commented Sep 15, 2017

This looks nice, I'm working on Darwin support

Copy link
Member

@xhochy xhochy left a comment

Choose a reason for hiding this comment

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

+1

I have some libpython linking problems on macOS in the tests, I need to take a deeper look into this before we can add macOS/Darwin support.

@wesm
Copy link
Member Author

wesm commented Sep 15, 2017

OK, no problem

@asfgit asfgit closed this in 40e72f5 Sep 15, 2017
@wesm wesm deleted the ARROW-559 branch September 15, 2017 16:29
asfgit pushed a commit that referenced this pull request Sep 17, 2017
Since we're accumulating a bunch of components, I started this script which we can refine to make verifying releases easier for others.

I bootstrapped some pieces off https://github.com/apache/parquet-cpp/blob/master/dev/release/verify-release-candidate, very helpful!

This script:

* Checks GPG signature, checksums
* Installs temporary Python install for the duration of these tests
* Builds/install C++ and runs tests (with Python and Plasma)
* Builds parquet-cpp against the Arrow RC
* Python (with Parquet and Plasma extensions)
* C GLib (requires Ruby in PATH and the gems indicated in README)
* Integration tests
* JavaScript (requires NodeJS >= 6.0.0)

There are some potentially snowflake-y aspects to my environment:

* BOOST_ROOT is set to a Boost install location containing libraries built with `-fPIC`. I'm not sure what to do about this one. One maybe better option is to use system level boost and shared libraries
* Maven 3.3.9 is in PATH
* NodeJS 6.11.3 is in PATH

There are probably some other things that Linux users will run into as they run this script.

I had to compile GLib libraries in this since the ones at system level (Ubuntu 14.04) are too old.

cc @kou @xhochy

Author: Wes McKinney <wes.mckinney@twosigma.com>

Closes #1102 from wesm/ARROW-559 and squashes the following commits:

8fd6530 [Wes McKinney] Use Boost shared libraries
3531927 [Wes McKinney] Add note to dev/README.md
079b5e4 [Wes McKinney] Fix comments
17f7ac0 [Wes McKinney] More fixes, finally works
adb3146 [Wes McKinney] More work on release verification script
86ef171 [Wes McKinney] Start Linux release verification script
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

Successfully merging this pull request may close these issues.

3 participants