Skip to content

Commit

Permalink
Merge branch 'main' into test-rhub-workflows
Browse files Browse the repository at this point in the history
  • Loading branch information
walkowif authored Jun 24, 2024
2 parents 4277a42 + b8e3de5 commit 19a74de
Show file tree
Hide file tree
Showing 6 changed files with 104 additions and 19 deletions.
29 changes: 22 additions & 7 deletions .github/workflows/build-check-install.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -694,9 +694,12 @@ jobs:
if: inputs.skip-r-cmd-check != true
run: |
find ${{ env.PKGNAME }}.Rcheck -type f -regextype posix-egrep \
-regex '.*00install.out|.*00check.log|.*00build.out' -print0 | while IFS= read -r -d $'\0' file; do
printf "==================================\n$file\n==================================\n"
cat $file
-regex '.*00install.out|.*00check.log|.*00build.out|.*-Ex.Rout|.*tests/testthat\.Rout.*' \
-print0 | while IFS= read -r -d $'\0' file; do
# Grouping allows to collapse/expand logs when needed.
echo "::group::$file"
cat $file
echo "::endgroup::"
done
shell: bash

Expand Down Expand Up @@ -782,6 +785,18 @@ jobs:
path: ${{ github.event.repository.name }}/${{ inputs.package-subdirectory }}/${{ env.PKGBUILD }}
name: ${{ env.PKGBUILD }}

- name: Upload logs artifact 🗞️
uses: actions/upload-artifact@v4
with:
path: |
${{ env.PKGNAME }}.Rcheck/*00install.out
${{ env.PKGNAME }}.Rcheck/*00check.log
${{ env.PKGNAME }}.Rcheck/*00build.out
${{ env.PKGNAME }}.Rcheck/*-Ex.Rout
${{ env.PKGNAME }}.Rcheck/tests/testthat.Rout
${{ env.PKGNAME }}.Rcheck/tests/testthat.Rout.fail
name: check-logs-${{ env.PKGNAME }}-${{ inputs.concurrency-group }}

publish-junit-html-report:
name: Publish JUnit HTML report 📰
runs-on: ubuntu-latest
Expand Down Expand Up @@ -813,7 +828,7 @@ jobs:

- name: Upload JUnit HTML report to GitHub pages 🗞️
if: needs.build-install-check.outputs.multiversion-docs == 'true'
uses: peaceiris/actions-gh-pages@v3
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ steps.github-token.outputs.token }}
publish_dir: ./unit-test-report
Expand All @@ -823,7 +838,7 @@ jobs:
if: >
needs.build-install-check.outputs.is-latest-tag == 'true'
&& needs.build-install-check.outputs.multiversion-docs == 'true'
uses: peaceiris/actions-gh-pages@v3
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ steps.github-token.outputs.token }}
publish_dir: ./unit-test-report
Expand All @@ -833,15 +848,15 @@ jobs:
if: >
needs.build-install-check.outputs.is-rc-tag == 'true'
&& needs.build-install-check.outputs.multiversion-docs == 'true'
uses: peaceiris/actions-gh-pages@v3
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ steps.github-token.outputs.token }}
publish_dir: ./unit-test-report
destination_dir: ${{ inputs.release-candidate-alt-name }}/unit-test-report

- name: Upload JUnit HTML report to GitHub pages (non-multiversion) 🗞️
if: needs.build-install-check.outputs.multiversion-docs == 'false'
uses: peaceiris/actions-gh-pages@v3
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ steps.github-token.outputs.token }}
publish_dir: ./unit-test-report
Expand Down
78 changes: 74 additions & 4 deletions .github/workflows/links.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,29 @@ on:
workflow_dispatch:
workflow_call:
inputs:
additional_args:
lychee-additional-args:
description: Additional arguments to pass to lychee
required: false
type: string
default: "--exclude-private"
lychee-fail:
description: Fail workflow run on error (i.e. when lychee exit code is not 0)
required: false
type: boolean
default: false
package-subdirectory:
description: Subdirectory in the repository, where the R package is located.
required: false
type: string
default: ""
link-checking-method:
description: |
Which link checking method should be used? Supported methods are:
lychee
urlchecker
required: false
type: string
default: "urlchecker"

concurrency:
group: links-${{ github.event.pull_request.number || github.ref }}
Expand All @@ -33,6 +51,7 @@ jobs:
if: >
!contains(github.event.commits[0].message, '[skip links]')
&& github.event.pull_request.draft == false
&& inputs.link-checking-method == 'lychee'
steps:
- name: Get branch names 🌿
id: branch-name
Expand Down Expand Up @@ -65,18 +84,69 @@ jobs:
SKIP_INSTRUCTION: "[skip links]"

- name: Check URLs in docs 🔬
uses: lycheeverse/lychee-action@v1.8.0
uses: lycheeverse/lychee-action@v1.10.0
with:
args: >-
--exclude-private
--exclude "https://github.com.*.git|https://insightsengineering.github.io.*|lewagon.*|knightdave.*|.*users.noreply.github.com|lycheeverse.*"
--verbose
--no-progress
${{ inputs.additional_args }}
${{ inputs.lychee-additional-args }}
**/*.md
**/*.html
**/*.Rmd
**/*.yaml
**/*.yml
*.md
fail: ${{ inputs.lychee-fail }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

urlchecker:
name: URL Checker 🔎
runs-on: ubuntu-latest
container:
image: rocker/tidyverse:latest
if: >
!contains(github.event.commits[0].message, '[skip links]')
&& github.event.pull_request.draft == false
&& inputs.link-checking-method == 'urlchecker'
steps:
- name: Get branch names 🌿
id: branch-name
uses: tj-actions/branch-names@v7

- name: Checkout repo (PR) 🛎
uses: actions/[email protected]
if: github.event_name == 'pull_request'
with:
ref: ${{ steps.branch-name.outputs.head_ref_branch }}
repository: ${{ github.event.pull_request.head.repo.full_name }}

- name: Checkout repo 🛎
uses: actions/[email protected]
if: github.event_name != 'pull_request'
with:
ref: ${{ steps.branch-name.outputs.head_ref_branch }}

- name: Check commit message 💬
run: |
git config --global --add safe.directory $(pwd)
export head_commit_message="$(git show -s --format=%B | tr '\r\n' ' ' | tr '\n' ' ')"
echo "head_commit_message = $head_commit_message"
if [[ $head_commit_message == *"$SKIP_INSTRUCTION"* ]]; then
echo "Skip instruction detected - cancelling the workflow."
exit 1
fi
shell: bash
env:
SKIP_INSTRUCTION: "[skip links]"

- name: Check URLs with urlchecker 🔬
run: |
# For unexplained reasons, parallel = FALSE is required to prevent some false positives.
bad_urls <- nrow(print(urlchecker::url_check(".", parallel = FALSE)))
if (bad_urls > 0) {
stop("Looks like a total of ", bad_urls, " URL(s) were found! Please correct them.")
}
shell: Rscript {0}
working-directory: ${{ inputs.package-subdirectory }}
8 changes: 4 additions & 4 deletions .github/workflows/test-coverage.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -419,7 +419,7 @@ jobs:

- name: Upload coverage report to GitHub pages 🗞️
if: needs.coverage.outputs.multiversion-docs == 'true'
uses: peaceiris/actions-gh-pages@v3
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ steps.github-token.outputs.token }}
publish_dir: ./coverage-report
Expand All @@ -429,7 +429,7 @@ jobs:
if: >
needs.coverage.outputs.is-latest-tag == 'true'
&& needs.coverage.outputs.multiversion-docs == 'true'
uses: peaceiris/actions-gh-pages@v3
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ steps.github-token.outputs.token }}
publish_dir: ./coverage-report
Expand All @@ -439,15 +439,15 @@ jobs:
if: >
needs.coverage.outputs.is-rc-tag == 'true'
&& needs.coverage.outputs.multiversion-docs == 'true'
uses: peaceiris/actions-gh-pages@v3
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ steps.github-token.outputs.token }}
publish_dir: ./coverage-report
destination_dir: ${{ inputs.release-candidate-alt-name }}/coverage-report

- name: Upload coverage report to GitHub pages (non-multiversion) 🗞️
if: needs.coverage.outputs.multiversion-docs == 'false'
uses: peaceiris/actions-gh-pages@v3
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ steps.github-token.outputs.token }}
publish_dir: ./coverage-report
Expand Down
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,6 @@ repos:
files: '\.Rhistory|\.RData|\.Rds|\.rds$'
# `exclude: <regex>` to allow committing specific files.
- repo: https://github.com/igorshubovych/markdownlint-cli
rev: v0.40.0
rev: v0.41.0
hooks:
- id: markdownlint
4 changes: 2 additions & 2 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
Type: Package
Package: r.pkg.template
Title: R Package Template
Version: 0.1.0.9159
Date: 2024-05-14
Version: 0.1.0.9167
Date: 2024-06-18
Authors@R:
person("insightsengineering", , , "[email protected]", role = c("aut", "cre"))
Description: R package template with GitHub Actions workflows included.
Expand Down
2 changes: 1 addition & 1 deletion NEWS.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# r.pkg.template 0.1.0.9159
# r.pkg.template 0.1.0.9167

### New features

Expand Down

0 comments on commit 19a74de

Please sign in to comment.