Github Actions

Misc

  • GitHub Actions self-hosted runners provide a flexible option to run CI workloads on the infrastructure of your choice.
  • Actions
    • r-lib - GitHub Actions for the R community
      • setup-r - Sets up R
      • setup-r-dependencies - Installs packages declared in DESCRIPTION
      • setup-renv - Installs packages from renv lockfile
      • setup-pandoc - Sets up pandoc
      • setup-tinytex - Sets up LaTeX with tinytex
      • check-r-package - Runs R CMD check on an R package
      • pr-fetch - Fetches changes of a PR associated with an event
      • pr-push - Pushes changes to a PR associated with an event
      • setup-manifest - Sets up an R project with a Posit Connect manifest.json file
    • r2u actions
      • r-ci-setup: Adds r-ci ‘R Continuous Integration’ an action running Ubuntu 22.04 aka ‘jammy’ or ‘macos-latets’ by downloading its run.sh
      • r2u-setup: Adds r2u to an action running Ubuntu 22.04 aka ‘jammy’

Triggering

  • on.schedule
    • Syntax

      • Minute [0,59]
      • Hour [0,23]
      • Day of the month [1,31]
      • Month of the year [1,12]
      • Day of the week ([0,6] with 0=Sunday)
    • Example

      on:
        schedule:
          - cron: '30 5 * * 1,3'
          - cron: '30 5 * * 2,4'
      
      jobs:
        test_schedule:
          runs-on: ubuntu-latest
          steps:
            - name: Not on Monday or Wednesday
              if: github.event.schedule != '30 5 * * 1,3'
              run: echo "This step will be skipped on Monday and Wednesday"
            - name: Every time
              run: echo "This step will always run"
      • This example triggers the workflow to run at 5:30 UTC every Monday-Thursday, but skips the Not on Monday or Wednesday step on Monday and Wednesday.