Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ARROW-16901: [R][CI] Prune R nightly builds #13453

Merged
merged 9 commits into from Jul 6, 2022

Conversation

assignUser
Copy link
Member

This PR adds pruning to the nightly R upload, 14 versions will be kept by default.

I have removed the burnett01/rsync-deployments actions because the use of docker for this was unnecessary and the action can only upload to a remote. This new manual version also utilizes host key checking for which I created secrets.NIGHTLIES_RSYNC_HOST_KEY (which should contain the result of ssh-keyscan -H nightlies.apache.org 2> /dev/null and needs to be added to apache/arrow before this can run). This way we are no longer depending on the action and it's associated Dockerfile (drinternet/rsync).

We might want to refactor this into a local action for use with all nightly upload jobs.

The pruning is not super efficient as we download the whole nightly repository (on cache miss). This could be avoided for the libarrow files, they could possibly be deleted via ssh instead but we need to download all R packages as tools::write_PACKAGES needs access to each archive.

@assignUser
Copy link
Member Author

@raulcd could you give this a first pass?

@github-actions
Copy link

@github-actions
Copy link

⚠️ Ticket has not been started in JIRA, please click 'Start Progress'.

.github/workflows/r_nightly.yml Show resolved Hide resolved
.github/workflows/r_nightly.yml Outdated Show resolved Hide resolved
.github/workflows/r_nightly.yml Show resolved Hide resolved
.github/workflows/r_nightly.yml Show resolved Hide resolved
.github/workflows/r_nightly.yml Outdated Show resolved Hide resolved
.github/workflows/r_nightly.yml Show resolved Hide resolved
.github/workflows/r_nightly.yml Outdated Show resolved Hide resolved
.github/workflows/r_nightly.yml Outdated Show resolved Hide resolved
.github/workflows/r_nightly.yml Outdated Show resolved Hide resolved
@assignUser assignUser force-pushed the ARROW-16901-Prune-R-nightly-builds branch from 0ad8d38 to f29cccf Compare June 30, 2022 12:14
@assignUser
Copy link
Member Author

Thanks for the review @kou ! While integrating the changes I was already annoyed to do everything twice so I refactored the syncing as a local action. This way it can be easily reused by other components to upload their nightly builds (e.g. java).
I also switched to using a local .ssh folder for known_hosts to avoid interfering with the runner state (not strictly necessary but I think good form).

Here is an example run in a test repo
https://github.com/assignUser/test-repo-a/runs/7130803918?check_suite_focus=true

.github/workflows/r_nightly.yml Show resolved Hide resolved
.github/actions/sync-nightlies/action.yml Outdated Show resolved Hide resolved
.github/actions/sync-nightlies/action.yml Outdated Show resolved Hide resolved
Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
@assignUser assignUser requested a review from kou July 1, 2022 09:36
@assignUser assignUser requested a review from kou July 4, 2022 11:53
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

.github/actions/sync-nightlies/README.md Show resolved Hide resolved
@kou kou merged commit 804c08c into apache:master Jul 6, 2022
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.

None yet

3 participants