main-02-test-coverage #53
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test coverage | |
on: | |
workflow_dispatch: | |
inputs: | |
trigger_next: | |
description: 'Whether to run the subsequent workflows after triggering this one manually.' | |
required: false | |
default: false | |
repository_dispatch: | |
types: [main-02-test-coverage] | |
schedule: | |
# Execute monthly at 9AM UTC (5AM ET during daylight savings, otherwise 4AM) | |
- cron: '0 9 1 * *' | |
jobs: | |
test-coverage: | |
runs-on: macOS-latest | |
env: | |
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} | |
SALESFORCER_USERNAME: ${{ secrets.SALESFORCER_USERNAME }} | |
SALESFORCER_TOKEN_PATH: ${{ github.workspace }}/tests/testthat/ | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.client_payload.sha }} | |
- name: Decrypt OAuth Token | |
run: | | |
./.github/scripts/decrypt_secret.sh | |
env: | |
SALESFORCER_TOKEN_PASSPHRASE: ${{ secrets.SALESFORCER_TOKEN_PASSPHRASE }} | |
- name: Reveal env vars | |
run: | | |
echo GITHUB_WORKFLOW = $GITHUB_WORKFLOW | |
echo HOME = $HOME | |
echo GITHUB_ACTION = $GITHUB_ACTION | |
echo GITHUB_ACTIONS = $GITHUB_ACTIONS | |
echo GITHUB_ACTOR = $GITHUB_ACTOR | |
echo GITHUB_REPOSITORY = $GITHUB_REPOSITORY | |
echo GITHUB_EVENT_NAME = $GITHUB_EVENT_NAME | |
echo GITHUB_EVENT_PATH = $GITHUB_EVENT_PATH | |
echo GITHUB_WORKSPACE = $GITHUB_WORKSPACE | |
echo GITHUB_SHA = $GITHUB_SHA | |
echo GITHUB_REF = $GITHUB_REF | |
- uses: r-lib/actions/setup-r@v2 | |
with: | |
r-version: 'release' | |
use-public-rspm: true | |
- uses: r-lib/actions/setup-pandoc@v2 | |
- name: Query dependencies | |
run: | | |
install.packages("remotes") | |
saveRDS(remotes::dev_package_deps(dependencies = TRUE), ".github/depends.Rds", version = 2) | |
shell: Rscript {0} | |
- name: Cache R packages | |
uses: actions/cache@v4 | |
with: | |
path: ${{ env.R_LIBS_USER }} | |
key: macOS-r-4.4-1-${{ hashFiles('.github/depends.Rds') }} | |
restore-keys: macOS-r-4.4-1- | |
- name: Install dependencies | |
run: | | |
remotes::install_deps(dependencies = TRUE) | |
remotes::install_cran("covr") | |
shell: Rscript {0} | |
- name: Session info | |
run: | | |
options(width = 100) | |
pkgs <- installed.packages()[, "Package"] | |
sessioninfo::session_info(pkgs, include_base = TRUE) | |
shell: Rscript {0} | |
- name: Test coverage | |
run: covr::codecov(quiet=FALSE) | |
shell: Rscript {0} | |
- name: Trigger next workflow | |
if: ${{ (github.event_name != 'workflow_dispatch' && success()) || (github.event_name == 'workflow_dispatch' && github.event.inputs.trigger_next && success()) }} | |
uses: peter-evans/repository-dispatch@v3 | |
with: | |
token: ${{ secrets.REPO_GHA_PAT }} | |
repository: StevenMMortimer/salesforcer | |
event-type: main-03-R-CMD-check-mac | |
client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}' | |
- name: Set final R-CMD-check status | |
if: ${{ (github.event_name != 'workflow_dispatch' && failure()) }} | |
uses: peter-evans/repository-dispatch@v3 | |
with: | |
token: ${{ secrets.REPO_GHA_PAT }} | |
repository: StevenMMortimer/salesforcer | |
event-type: main-06-R-CMD-check-final | |
client-payload: '{"success": false}' |