Skip to content

Commit

Permalink
GH-43547: [R][CI] Add recheck workflow for checking reverse dependenc…
Browse files Browse the repository at this point in the history
…ies on GHA (#43784)

### Rationale for this change

See #43547.

### What changes are included in this PR?

Adds two new new crossbow tasks for performing reverse dependency checking using https://github.com/r-devel/recheck: 

- `r-recheck-most` 
- `r-recheck-strong`

### Are these changes tested?

Yes. #44523 (comment).

### Are there any user-facing changes?

No.
* GitHub Issue: #43547

Fixes #43547.

Authored-by: Bryce Mecum <[email protected]>
Signed-off-by: Bryce Mecum <[email protected]>
  • Loading branch information
amoeba authored Nov 1, 2024
1 parent e1fa7e5 commit f3abc68
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 0 deletions.
30 changes: 30 additions & 0 deletions dev/tasks/r/github.recheck.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

{% import 'macros.jinja' as macros with context %}

{{ macros.github_header() }}

jobs:
recheck:
name: Reverse check {{ which }} dependents
uses: r-devel/recheck/.github/workflows/recheck.yml@9fe04de60ebeadd505b8d76223a346617ccca836
with:
which: {{ which }}
subdirectory: r
repository: {{ arrow.github_repo }}
ref: {{ arrow.branch }}
15 changes: 15 additions & 0 deletions dev/tasks/tasks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ groups:
r:
- test*-r-*
- r-binary-packages
- r-recheck-most

ruby:
- test-*ruby*
Expand Down Expand Up @@ -901,6 +902,20 @@ tasks:
- r-pkg__bin__macosx__big-sur-arm64__contrib__4.3__arrow_{no_rc_r_version}\.tgz
- r-pkg__src__contrib__arrow_{no_rc_r_version}\.tar\.gz

{% for which in ["strong", "most"] %}
# strong and most used here are defined by ?tools::package_dependencies as:
#
# strong: Depends, Imports, LinkingTo
# most: Depends, Imports, LinkingTo, Suggests
#
# So the key difference between strong and most is whether you want to expand
# the reverse dependency checking to Suggests (most) or not.
r-recheck-{{which}}:
ci: github
template: r/github.recheck.yml
params:
which: {{which}}
{% endfor %}

########################### Release verification ############################

Expand Down

0 comments on commit f3abc68

Please sign in to comment.