Skip to content

test-coverage

test-coverage #174

on:
push:
branches: master
schedule:
# - `*` is a special character in YAML so we have to quote this string
# - https://crontab.guru is your friend
# - This runs every Monday at 1am UTC (8pm EST, previous Sunday)
# (offset from pkgdown build to avoid rate limits)
- cron: '0 13 * * 1'
name: test-coverage
jobs:
test-coverage:
runs-on: macOS-latest
# Only run coverage job if on a schedule or if a direct push to master
# with [covr] in the commit message
if: github.event_name == 'schedule' || contains(github.event.head_commit.message, '[covr]')
env:
FRED_API_KEY: ${{ secrets.FRED_API_KEY }}
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v2
- uses: r-lib/actions/setup-r@v1
- uses: r-lib/actions/setup-pandoc@v1
- name: Query dependencies
run: |
install.packages('remotes')
saveRDS(remotes::dev_package_deps(dependencies = TRUE), ".github/depends.Rds", version = 2)
writeLines(sprintf("R-%i.%i", getRversion()$major, getRversion()$minor), ".github/R-version")
shell: Rscript {0}
- name: Cache R packages
uses: actions/cache@v2
with:
path: ${{ env.R_LIBS_USER }}
key: ${{ runner.os }}-${{ hashFiles('.github/R-version') }}-1-${{ hashFiles('.github/depends.Rds') }}
restore-keys: ${{ runner.os }}-${{ hashFiles('.github/R-version') }}-1-
- name: Install dependencies
run: |
install.packages(c("remotes"))
remotes::install_deps(dependencies = TRUE)
remotes::install_cran("covr")
shell: Rscript {0}
- name: Test coverage
run: covr::codecov()
shell: Rscript {0}