From 7d613ee41faa96a7264a86c9855065fbfbfadc3f Mon Sep 17 00:00:00 2001 From: Christophe Dervieux Date: Fri, 24 Mar 2023 17:35:02 +0100 Subject: [PATCH] Update GHA --- .github/workflows/R-CMD-check.yaml | 80 ++++++++++++++---------------- .github/workflows/pr-commands.yaml | 36 ++++++++------ README.Rmd | 4 +- README.md | 73 ++++++++++++++------------- 4 files changed, 93 insertions(+), 100 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 0fdc22d..5065b4c 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -1,4 +1,4 @@ -# Workflow derived from https://github.com/r-lib/actions/tree/master/examples +# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples # Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help # # NOTE: This workflow is overkill for most R packages and @@ -30,63 +30,55 @@ jobs: matrix: config: # testing R release with last shipped pandoc version in RStudio IDE and new pandoc - - {os: macOS-latest, pandoc: '2.11.4', r: 'release'} - - {os: macOS-latest, pandoc: '2.14.2', r: 'release'} - - # TODO: issue on windows with pandoc 2.11.4 - change when fixed - - {os: windows-latest, pandoc: '2.7.3', r: 'release'} - # Use 3.6 to trigger usage of RTools35 - - {os: windows-latest, pandoc: '2.7.3', r: '3.6'} - - # Use older ubuntu to maximise backward compatibility - - {os: ubuntu-18.04, pandoc: '2.11.4', r: 'devel', http-user-agent: 'release'} - - {os: ubuntu-18.04, pandoc: 'devel', r: 'release'} - - {os: ubuntu-18.04, pandoc: '2.14.2', r: 'release'} - - {os: ubuntu-18.04, pandoc: '2.11.4', r: 'release'} - - {os: ubuntu-18.04, pandoc: '2.11.4', r: 'oldrel-1'} - + - {os: windows-latest, pandoc: '3.1.1', r: 'release'} + - {os: macOS-latest, pandoc: '3.1.1', r: 'release'} + - {os: ubuntu-latest, pandoc: 'devel', r: 'release'} + # testing older pandoc versions + - {os: ubuntu-latest, pandoc: '2.19.2', r: 'release'} + - {os: ubuntu-latest, pandoc: '2.18', r: 'release'} + - {os: ubuntu-latest, pandoc: '2.17.1.1', r: 'release'} + - {os: ubuntu-latest, pandoc: '2.16.2', r: 'release'} + - {os: ubuntu-latest, pandoc: '2.14.2', r: 'release'} + - {os: ubuntu-latest, pandoc: '2.11.4', r: 'release'} + - {os: ubuntu-latest, pandoc: '2.7.3', r: 'release'} + - {os: ubuntu-latest, pandoc: '2.5', r: 'release'} + # testing other R versions + - {os: ubuntu-latest, pandoc: '2.11.4', r: 'devel', http-user-agent: 'release'} + - {os: ubuntu-latest, pandoc: '2.11.4', r: 'oldrel-1'} + - {os: ubuntu-latest, pandoc: '2.11.4', r: 'oldrel-2'} + - {os: ubuntu-latest, pandoc: '2.11.4', r: 'oldrel-3'} env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} R_KEEP_PKG_SOURCE: yes steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - - uses: r-lib/actions/setup-pandoc@v1 - if: matrix.config.pandoc != 'devel' - with: - pandoc-version: ${{ matrix.config.pandoc }} - - - uses: cderv/actions/setup-pandoc-nightly@nightly-pandoc - if: matrix.config.pandoc == 'devel' + - uses: r-lib/actions/setup-pandoc@v2 - - uses: r-lib/actions/setup-r@v1 + - uses: r-lib/actions/setup-r@v2 with: r-version: ${{ matrix.config.r }} http-user-agent: ${{ matrix.config.http-user-agent }} use-public-rspm: true - - uses: r-lib/actions/setup-r-dependencies@v1 + - uses: r-lib/actions/setup-r-dependencies@v2 with: - extra-packages: rcmdcheck + extra-packages: any::rcmdcheck + needs: check - - uses: r-lib/actions/check-r-package@master + - name: Remove default installed Pandoc + if: runner.os == 'Linux' + run: sudo dpkg -r pandoc - - name: Show testthat output - if: always() - run: find check -name 'testthat.Rout*' -exec cat '{}' \; || true - shell: bash + - uses: r-lib/actions/setup-pandoc@v2 + if: matrix.config.pandoc != 'devel' + with: + pandoc-version: ${{ matrix.config.pandoc }} + + - uses: cderv/actions/setup-pandoc-nightly@nightly-pandoc + if: matrix.config.pandoc == 'devel' - - name: Upload check results - if: failure() - uses: actions/upload-artifact@main + - uses: r-lib/actions/check-r-package@v2 with: - name: ${{ runner.os }}-r${{ matrix.config.r }}-results - path: check - - - name: Test coverage - if: success() && runner.os == 'Linux' && matrix.config.r == 'release' && matrix.config.pandoc == '2.11.4' - run: | - pak::pkg_install('covr') - covr::codecov() - shell: Rscript {0} + upload-snapshots: true diff --git a/.github/workflows/pr-commands.yaml b/.github/workflows/pr-commands.yaml index 1cdafbf..71f335b 100644 --- a/.github/workflows/pr-commands.yaml +++ b/.github/workflows/pr-commands.yaml @@ -1,4 +1,4 @@ -# Workflow derived from https://github.com/r-lib/actions/tree/master/examples +# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples # Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help on: issue_comment: @@ -8,28 +8,30 @@ name: Commands jobs: document: - if: startsWith(github.event.comment.body, '/document') + if: ${{ github.event.issue.pull_request && (github.event.comment.author_association == 'MEMBER' || github.event.comment.author_association == 'OWNER') && startsWith(github.event.comment.body, '/document') }} name: document runs-on: ubuntu-latest env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - - uses: r-lib/actions/pr-fetch@v1 + - uses: r-lib/actions/pr-fetch@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} - - uses: r-lib/actions/setup-r@v1 + - uses: r-lib/actions/setup-r@v2 with: use-public-rspm: true - - uses: r-lib/actions/setup-r-dependencies@v1 + - uses: r-lib/actions/setup-r-dependencies@v2 with: - extra-packages: roxygen2 + extra-packages: any::roxygen2 + needs: pr-document - name: Document - run: Rscript -e 'roxygen2::roxygenise()' + run: roxygen2::roxygenise() + shell: Rscript {0} - name: commit run: | @@ -38,30 +40,32 @@ jobs: git add man/\* NAMESPACE git commit -m 'Document' - - uses: r-lib/actions/pr-push@v1 + - uses: r-lib/actions/pr-push@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} style: - if: startsWith(github.event.comment.body, '/style') + if: ${{ github.event.issue.pull_request && (github.event.comment.author_association == 'MEMBER' || github.event.comment.author_association == 'OWNER') && startsWith(github.event.comment.body, '/style') }} name: style runs-on: ubuntu-latest env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - - uses: r-lib/actions/pr-fetch@v1 + - uses: r-lib/actions/pr-fetch@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} - - uses: r-lib/actions/setup-r@v1 + - uses: r-lib/actions/setup-r@v2 - name: Install dependencies - run: Rscript -e 'install.packages("styler")' + run: install.packages("styler") + shell: Rscript {0} - name: Style - run: Rscript -e 'styler::style_pkg()' + run: styler::style_pkg() + shell: Rscript {0} - name: commit run: | @@ -70,6 +74,6 @@ jobs: git add \*.R git commit -m 'Style' - - uses: r-lib/actions/pr-push@v1 + - uses: r-lib/actions/pr-push@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/README.Rmd b/README.Rmd index 528bfdd..6784308 100644 --- a/README.Rmd +++ b/README.Rmd @@ -4,11 +4,9 @@ output: github_document --- - [![CRAN status](https://www.r-pkg.org/badges/version/revealjs)](https://CRAN.R-project.org/package=revealjs) -[![R-CMD-check](https://github.com/rstudio/revealjs/workflows/R-CMD-check/badge.svg)](https://github.com/rstudio/revealjs/actions) +[![R-CMD-check](https://github.com/rstudio/revealjs/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/rstudio/revealjs/actions/workflows/R-CMD-check.yaml) [![reveal.js](https://img.shields.io/badge/reveal.js-`r revealjs:::revealjs_version()`-yellow)](https://github.com/rstudio/revealjs/tree/main/inst/reveal.js-`r revealjs:::revealjs_version()`) - ## Overview diff --git a/README.md b/README.md index 72170f5..f6aac97 100644 --- a/README.md +++ b/README.md @@ -5,9 +5,8 @@ R Markdown Format for reveal.js Presentations [![CRAN status](https://www.r-pkg.org/badges/version/revealjs)](https://CRAN.R-project.org/package=revealjs) -[![R-CMD-check](https://github.com/rstudio/revealjs/workflows/R-CMD-check/badge.svg)](https://github.com/rstudio/revealjs/actions) +[![R-CMD-check](https://github.com/rstudio/revealjs/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/rstudio/revealjs/actions/workflows/R-CMD-check.yaml) [![reveal.js](https://img.shields.io/badge/reveal.js-4.2.1-yellow)](https://github.com/rstudio/revealjs/tree/main/inst/reveal.js-4.2.1) - ## Overview @@ -106,18 +105,18 @@ Rscript -e "rmarkdown::render('my_reveal_presentation.Rmd')" The following single character keyboard shortcuts enable alternate display modes: -- `'f'` enable fullscreen mode +- `'f'` enable fullscreen mode -- `'o'` enable overview mode +- `'o'` enable overview mode -- `'b'` enable pause mode with a black screen hiding slide content +- `'b'` enable pause mode with a black screen hiding slide content -- `'?'` enable help mode to show keyboard shortcut cheatsheet +- `'?'` enable help mode to show keyboard shortcut cheatsheet -- `'s'` enable presentation mode with speaker notes when the Notes - plugin is activated +- `'s'` enable presentation mode with speaker notes when the Notes + plugin is activated -- `'m'` enable menu mode when the ‘menu’ plugin is activated +- `'m'` enable menu mode when the ‘menu’ plugin is activated Pressing `Esc` exits all of these modes. @@ -187,17 +186,17 @@ Content shown next on the same slide There are several options that control the appearance of revealjs presentations: -- `theme` specifies the theme to use for the presentation (available - themes are “simple”, “dark”, “black”, “sky”, “beige”, “serif”, - “solarized”, “blood”, “moon”, “night”, “league”, or “white” +- `theme` specifies the theme to use for the presentation (available + themes are “simple”, “dark”, “black”, “sky”, “beige”, “serif”, + “solarized”, “blood”, “moon”, “night”, “league”, or “white” -- `highlight` specifies the syntax highlighting style. Supported - styles include “default”, “tango”, “pygments”, “kate”, “monochrome”, - “espresso”, “zenburn”, “haddock”, or “breezedark”. Pass null to - prevent syntax highlighting. +- `highlight` specifies the syntax highlighting style. Supported styles + include “default”, “tango”, “pygments”, “kate”, “monochrome”, + “espresso”, “zenburn”, “haddock”, or “breezedark”. Pass null to + prevent syntax highlighting. -- `center` specifies whether you want to vertically center content on - slides (this defaults to false). +- `center` specifies whether you want to vertically center content on + slides (this defaults to false). For example: @@ -216,13 +215,13 @@ output: You can use the `transition` and `background_transition` options to specify the global default slide transition style: -- `transition` specifies the visual effect when moving between slides. - Available transitions are “convex”, “fade”, “slide”, “concave”, - “zoom”, or “none”. +- `transition` specifies the visual effect when moving between slides. + Available transitions are “convex”, “fade”, “slide”, “concave”, + “zoom”, or “none”. -- `background_transition` specifies the background transition effect - when moving between full page slides. Available transitions are - “convex”, “fade”, “slide”, “concave”, “zoom”, or “none” +- `background_transition` specifies the background transition effect + when moving between full page slides. Available transitions are + “convex”, “fade”, “slide”, “concave”, “zoom”, or “none” For example: @@ -338,15 +337,15 @@ here: . There are a number of options that affect the output of figures within reveal.js presentations: -- `fig_width` and `fig_height` can be used to control the default - figure width and height (7x5 is used by default) +- `fig_width` and `fig_height` can be used to control the default figure + width and height (7x5 is used by default) -- `fig_retina` Specifies the scaling to perform for retina displays - (defaults to 2, which currently works for all widely used retina - displays). Note that this only takes effect if you are using - knitr >= 1.5.21. Set to `null` to prevent retina scaling. +- `fig_retina` Specifies the scaling to perform for retina displays + (defaults to 2, which currently works for all widely used retina + displays). Note that this only takes effect if you are using knitr \>= + 1.5.21. Set to `null` to prevent retina scaling. -- `fig_caption` controls whether figures are rendered with captions +- `fig_caption` controls whether figures are rendered with captions For example: @@ -367,15 +366,15 @@ By default [MathJax](http://www.mathjax.org/) scripts are included in reveal.js presentations for rendering LaTeX and MathML equations. You can use the `mathjax` option to control how MathJax is included: -- Specify “default” to use an https URL from the official MathJax CDN. +- Specify “default” to use an https URL from the official MathJax CDN. -- Specify “local” to use a local version of MathJax (which is copied - into the output directory). Note that when using “local” you also - need to set the `self_contained` option to false. +- Specify “local” to use a local version of MathJax (which is copied + into the output directory). Note that when using “local” you also need + to set the `self_contained` option to false. -- Specify an alternate URL to load MathJax from another location. +- Specify an alternate URL to load MathJax from another location. -- Specify null to exclude MathJax entirely. +- Specify null to exclude MathJax entirely. For example, to use a local copy of MathJax: