RMI / RMI/resources

Continuous integration with GitHub actions

Open
#29 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

ci/cd github
Dominant language
No language data
Stars
17
Forks
5
PR merge metrics
No merged PRs in 30d

Description

This new GitHub feature may simplify continuous integration, and there is an R package to help you do that: https://r-lib.github.io/ghactions/

For example, for the development of an R package:

  • Add the secret GH_PAT to GitHub settings.
  • create a file in .github/workflows/main.yml that looks something like this:
'on':
  - push
  - pull_request

jobs:
  build:
    runs-on: ubuntu-18.04
    container:
      image: rstudio/r-base:3.6-xenial
    steps:
      - name: Checkout Repository
        uses: actions/checkout@master
      - name: Install System Dependencies
        run: |
            sudo apt-get update && apt-get install -y --no-install-recommends \
            docker \
            git \
            libxml2-dev \
            libssl-dev \
            && apt-get clean -y \
            && curl -fsSL https://get.docker.com -o get-docker.sh \
            && sh get-docker.sh
      - name: Install package dependencies
        run: |
          Rscript -e "install.packages(c('pkgdown', 'remotes', 'rcmdcheck'), repos = 'https://demo.rstudiopm.com/all/__linux__/bionic/latest')"
          Rscript -e "remotes::install_deps(dependencies = TRUE)"
      - name: Check package
        run: |
          Rscript -e "rcmdcheck::rcmdcheck(error_on = 'error', check_dir = 'check')"
      - name: Document Package
        run: |
          Rscript -e "pkgdown::build_site(examples = FALSE)"
      - name: Deploy to GitHub Pages
        if: github.ref == 'refs/heads/master'
        uses: maxheld83/ghpages@v0.2.0
        env:
          BUILD_DIR: docs
          GH_PAT: ${{ secrets.GH_PAT }}

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the proposed .github/workflows/main.yml and review the listed R package checks, pkgdown build, and GitHub Pages deployment steps. Done would be a repository-appropriate GitHub Actions workflow that runs the intended checks and deployment successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, github-actions, r
Domain
ci-cd, devops
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.