Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 22 additions & 8 deletions dev/release/verify-release-candidate.sh
Original file line number Diff line number Diff line change
Expand Up @@ -789,14 +789,6 @@ ensure_source_directory() {
if [ ! -d "${ARROW_SOURCE_DIR}" ]; then
pushd $ARROW_TMPDIR
fetch_archive ${dist_name}
git clone https://github.com/${GITHUB_REPOSITORY}.git arrow
pushd arrow
dev/release/utils-create-release-tarball.sh ${VERSION} ${RC_NUMBER}
if ! cmp ${dist_name}.tar.gz ../${dist_name}.tar.gz; then
echo "Source archive isn't reproducible"
return 1
fi
popd
tar xf ${dist_name}.tar.gz
popd
fi
Expand Down Expand Up @@ -845,6 +837,27 @@ test_source_distribution() {

pushd $ARROW_SOURCE_DIR

if [ "${SOURCE_KIND}" = "tarball" ] && [ "${TEST_SOURCE_REPRODUCIBLE}" -gt 0 ]; then
pushd ..
git clone "https://github.com/${GITHUB_REPOSITORY}.git" arrow
pushd arrow
dev/release/utils-create-release-tarball.sh "${VERSION}" "${RC_NUMBER}"
tarball="apache-arrow-${VERSION}.tar.gz"
if ! cmp "${tarball}" "../${tarball}"; then
echo "Source archive isn't reproducible"
if ! tar --version | grep --quiet --fixed GNU && \
! gtar --version | grep --quiet --fixed GNU; then
echo "We need GNU tar to verify reproducible build"
fi
if ! gzip --version | grep --quiet --fixed GNU; then
echo "We need GNU gzip to verify reproducible build"
fi
return 1
fi
popd
popd
fi

if [ ${TEST_CSHARP} -gt 0 ]; then
test_csharp
fi
Expand Down Expand Up @@ -1033,6 +1046,7 @@ test_wheels() {
: ${TEST_YUM:=${TEST_BINARIES}}

# Source verification tasks
: ${TEST_SOURCE_REPRODUCIBLE:=0}
: ${TEST_CPP:=${TEST_SOURCE}}
: ${TEST_CSHARP:=${TEST_SOURCE}}
: ${TEST_GLIB:=${TEST_SOURCE}}
Expand Down
3 changes: 3 additions & 0 deletions dev/tasks/verify-rc/github.linux.amd64.docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,9 @@ jobs:
{% endif %}
-e VERIFY_RC="{{ rc|default("") }}" \
-e TEST_DEFAULT=0 \
{% if target == "cpp" %}
-e TEST_SOURCE_REPRODUCIBLE=1 \
{% endif %}
-e TEST_{{ target|upper }}=1 \
{{ distro }}-verify-rc

Expand Down
17 changes: 16 additions & 1 deletion dev/tasks/verify-rc/github.macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,9 @@ jobs:
if [ -x "${pkgconf}" ]; then
echo "PKG_CONFIG=${pkgconf}" >> $GITHUB_ENV
fi

# For reproducible source archive verification
brew install gzip
{% endif %}

- uses: actions/setup-java@v2
Expand Down Expand Up @@ -91,6 +94,18 @@ jobs:
USE_CONDA: 1
{% else %}
GTest_SOURCE: SYSTEM
{% if target == "cpp" %}
TEST_SOURCE_REPRODUCIBLE: 1
{% endif %}
{% endif %}
run: |
arrow/dev/release/verify-release-candidate.sh {{ release|default("") }} {{ rc|default("") }}
version={{ release|default("") }}
rc={{ rc|default("") }}
if [ -n "${version}" ] && [ -n "${rc}" ]; then
args=("${version}" "${rc}")
GITHUB_REPOSITORY=apache/arrow
else
args=()
GITHUB_REPOSITORY={{ arrow.github_repo }}
fi
arrow/dev/release/verify-release-candidate.sh "${args[@]}"
Loading