Skip to content

GH-37941: [R][CI][Release] Add checksum verification for pre-compiled binaries - #38115

Merged
thisisnic merged 31 commits into
apache:mainfrom
assignUser:add-checksum-rbinaries
Oct 11, 2023
Merged

GH-37941: [R][CI][Release] Add checksum verification for pre-compiled binaries#38115
thisisnic merged 31 commits into
apache:mainfrom
assignUser:add-checksum-rbinaries

Conversation

@assignUser

@assignUserassignUser commented Oct 7, 2023

Copy link
Copy Markdown
Member

Rationale for this change

This change is to restore parity with the previous solution on macOS (brew does cs validation) and improve security for windows and linux. This also align with CRAN policy.

What changes are included in this PR?

This PR adds a script that can be run after the arrow release (once all files have been pushed to the artifactory) before the CRAN submission to download the checksum files for the pre-compiled binaries which are already added through the usual release. *libs.R have been extended to use these checksum files to validate the downloaded binaries.

Are these changes tested?

The r-binary-packages nightlies generate checksums and use them when building binary packages, this way the code path is tested. They do not modify the actual src package though.

Are there any user-facing changes?

no (outside of log messages)

@assignUser

assignUser commented Oct 7, 2023

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit r-binary-packages

@github-actions

This comment was marked as outdated.

@github-actions

This comment was marked as outdated.

@github-actions

This comment was marked as outdated.

@assignUser

assignUser commented Oct 7, 2023

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit r-binary-packages

@github-actions

This comment was marked as outdated.

@github-actions

Copy link
Copy Markdown

Revision: 4dae43c

Submitted crossbow builds: ursacomputing/crossbow @ actions-88d6d2b34e

TaskStatus
conda-linux-aarch64-cpu-r42Azure
conda-linux-aarch64-cpu-r43Azure
conda-linux-x64-cpu-r42Azure
conda-linux-x64-cpu-r43Azure
conda-osx-arm64-cpu-r42Azure
conda-osx-arm64-cpu-r43Azure
conda-osx-x64-cpu-r42Azure
conda-osx-x64-cpu-r43Azure
conda-win-x64-cpu-r41Azure
homebrew-r-autobrewGithub Actions
homebrew-r-brewGithub Actions
r-binary-packagesGithub Actions
test-fedora-r-clang-sanitizerAzure
test-r-arrow-backwards-compatibilityGithub Actions
test-r-depsource-bundledAzure
test-r-depsource-systemGithub Actions
test-r-dev-duckdbGithub Actions
test-r-devdocsGithub Actions
test-r-gcc-11Github Actions
test-r-gcc-12Github Actions
test-r-install-localGithub Actions
test-r-install-local-minsizerelGithub Actions
test-r-library-r-base-latestAzure
test-r-linux-as-cranGithub Actions
test-r-linux-rchkGithub Actions
test-r-linux-valgrindAzure
test-r-minimal-buildAzure
test-r-offline-maximalGithub Actions
test-r-offline-minimalAzure
test-r-rhub-debian-gcc-devel-lto-latestAzure
test-r-rhub-debian-gcc-release-custom-ccacheAzure
test-r-rhub-ubuntu-gcc-release-latestAzure
test-r-rstudio-r-base-4.1-opensuse153Azure
test-r-rstudio-r-base-4.2-centos7-devtoolset-8Azure
test-r-rstudio-r-base-4.2-focalAzure
test-r-ubuntu-22.04Github Actions
test-r-versionsGithub Actions
test-ubuntu-r-sanitizerAzure

@paleolimbotpaleolimbot left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Two small comments...thank you for taking this on!

Comment threadr/tools/nixlibs.R Outdated
Comment threadr/.gitignore
@paleolimbot

Copy link
Copy Markdown
Member

Also, it is probably worth rebasing to clear up the CI.

@github-actionsgithub-actionsBot added awaiting merge Awaiting merge and removed awaiting change review Awaiting change review labels Oct 10, 2023
@assignUser

Copy link
Copy Markdown
MemberAuthor

Also, it is probably worth rebasing to clear up the CI.

I merged to keep the crossbow job shas valid. I will run another round of validation but then this should be merge ready imo.

@assignUser

assignUser commented Oct 11, 2023

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit -g r

@github-actions

Copy link
Copy Markdown

Revision: dd292b6

Submitted crossbow builds: ursacomputing/crossbow @ actions-d4c5399398

TaskStatus
conda-linux-aarch64-cpu-r42Azure
conda-linux-aarch64-cpu-r43Azure
conda-linux-x64-cpu-r42Azure
conda-linux-x64-cpu-r43Azure
conda-osx-arm64-cpu-r42Azure
conda-osx-arm64-cpu-r43Azure
conda-osx-x64-cpu-r42Azure
conda-osx-x64-cpu-r43Azure
conda-win-x64-cpu-r41Azure
r-binary-packagesGithub Actions
test-fedora-r-clang-sanitizerAzure
test-r-arrow-backwards-compatibilityGithub Actions
test-r-depsource-bundledAzure
test-r-depsource-systemGithub Actions
test-r-dev-duckdbGithub Actions
test-r-devdocsGithub Actions
test-r-gcc-11Github Actions
test-r-gcc-12Github Actions
test-r-install-localGithub Actions
test-r-install-local-minsizerelGithub Actions
test-r-library-r-base-latestAzure
test-r-linux-as-cranGithub Actions
test-r-linux-rchkGithub Actions
test-r-linux-valgrindAzure
test-r-minimal-buildAzure
test-r-offline-maximalGithub Actions
test-r-offline-minimalAzure
test-r-rhub-debian-gcc-devel-lto-latestAzure
test-r-rhub-debian-gcc-release-custom-ccacheAzure
test-r-rhub-ubuntu-gcc-release-latestAzure
test-r-rstudio-r-base-4.1-opensuse153Azure
test-r-rstudio-r-base-4.2-centos7-devtoolset-8Azure
test-r-rstudio-r-base-4.2-focalAzure
test-r-ubuntu-22.04Github Actions
test-r-versionsGithub Actions
test-ubuntu-r-sanitizerAzure

@paleolimbotpaleolimbot left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Pending green CI, naturally. Thank you!

Comment threadr/tools/nixlibs.R
@github-actionsgithub-actionsBot added awaiting changes Awaiting changes and removed awaiting merge Awaiting merge labels Oct 11, 2023
@thisisnic
thisisnic merged commit b20e0ae into apache:mainOct 11, 2023
@thisisnicthisisnic removed the awaiting changes Awaiting changes label Oct 11, 2023

@nealrichardsonnealrichardson left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

A few notes, apologies for the late review here @assignUser

Comment threadr/tools/nixlibs.R
Comment threadr/tools/nixlibs.R
checksum_cmd <- "shasum"
checksum_args <- c("--status", "-a", "512", "-c", checksum_file)

# shasum is not available on all linux versions

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Use sys.which() to see if it's present?

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

Ah nice 👍

Comment threadr/tools/nixlibs.R
Comment threadr/tools/update-checksums.R
Comment threadr/tools/winlibs.R
Comment threadr/PACKAGING.md
@github-actionsgithub-actionsBot added the awaiting committer review Awaiting committer review label Oct 11, 2023
@github-actionsgithub-actionsBot added awaiting changes Awaiting changes and removed awaiting committer review Awaiting committer review labels Oct 11, 2023
@conbench-apache-arrow

Copy link
Copy Markdown

After merging your PR, Conbench analyzed the 5 benchmarking runs that have been run so far on merge-commit b20e0ae.

There were no benchmark performance regressions. 🎉

The full Conbench report has more details. It also includes information about 2 possible false positives for unstable benchmarks that are known to sometimes produce them.

loicalleyne pushed a commit to loicalleyne/arrow that referenced this pull request Nov 13, 2023
…mpiled binaries (apache#38115)
### Rationale for this change
This change is to restore parity with the previous solution on macOS (brew does cs validation) and improve security for windows and linux. This also align with CRAN policy.
### What changes are included in this PR?
This PR adds a script that can be run after the arrow release (once all files have been pushed to the artifactory) before the CRAN submission to download the checksum files for the pre-compiled binaries which are already added through the usual release. *libs.R have been extended to use these checksum files to validate the downloaded binaries.
### Are these changes tested?
The r-binary-packages nightlies generate checksums and use them when building binary packages, this way the code path is tested. They do not modify the actual src package though.
### Are there any user-facing changes?
no (outside of log messages)
* Closes: apache#37941
Authored-by: Jacob Wujciak-Jens <jacob@wujciak.de>
Signed-off-by: Nic Crane <thisisnic@gmail.com>
dgreiss pushed a commit to dgreiss/arrow that referenced this pull request Feb 19, 2024
…mpiled binaries (apache#38115)
### Rationale for this change
This change is to restore parity with the previous solution on macOS (brew does cs validation) and improve security for windows and linux. This also align with CRAN policy.
### What changes are included in this PR?
This PR adds a script that can be run after the arrow release (once all files have been pushed to the artifactory) before the CRAN submission to download the checksum files for the pre-compiled binaries which are already added through the usual release. *libs.R have been extended to use these checksum files to validate the downloaded binaries.
### Are these changes tested?
The r-binary-packages nightlies generate checksums and use them when building binary packages, this way the code path is tested. They do not modify the actual src package though.
### Are there any user-facing changes?
no (outside of log messages)
* Closes: apache#37941
Authored-by: Jacob Wujciak-Jens <jacob@wujciak.de>
Signed-off-by: Nic Crane <thisisnic@gmail.com>
Sign up for freeto 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.

[R][Release] Add checksum verification to pre-compiled binaries

4 participants

@assignUser@paleolimbot@nealrichardson@thisisnic