Merge pull request #6 from OMOPHub/develop #62
This file contains hidden or 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
| on: | |
| push: | |
| branches: [main, master, develop] | |
| pull_request: | |
| branches: [main, master, develop] | |
| name: R-CMD-check | |
| jobs: | |
| # Core check - runs on all PRs and pushes | |
| # Tests R release and devel on ubuntu-latest for quick feedback | |
| R-CMD-check-core: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| name: ubuntu-latest (R ${{ matrix.r }}) | |
| strategy: | |
| fail-fast: false | |
| max-parallel: 1 # Keep for API rate limiting | |
| matrix: | |
| r: ['release', 'devel'] | |
| env: | |
| GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} | |
| R_KEEP_PKG_SOURCE: yes | |
| OMOPHUB_API_KEY: ${{ secrets.OMOPHUB_API_KEY }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: r-lib/actions/setup-pandoc@v2 | |
| - uses: r-lib/actions/setup-r@v2 | |
| with: | |
| r-version: ${{ matrix.r }} | |
| http-user-agent: ${{ matrix.r == 'devel' && 'release' || '' }} | |
| use-public-rspm: true | |
| - uses: r-lib/actions/setup-r-dependencies@v2 | |
| with: | |
| extra-packages: any::rcmdcheck, any::urlchecker | |
| needs: check | |
| cache-version: 2 | |
| - name: Check URLs | |
| if: matrix.r == 'release' | |
| run: | | |
| result <- tryCatch({ | |
| urlchecker::url_check() | |
| TRUE | |
| }, error = function(e) { | |
| message("URL check failed: ", conditionMessage(e)) | |
| FALSE | |
| }) | |
| if (!result) { | |
| quit(status = 1) | |
| } | |
| shell: Rscript {0} | |
| - uses: r-lib/actions/check-r-package@v2 | |
| with: | |
| upload-snapshots: true | |
| build_args: 'c("--no-manual", "--compact-vignettes=gs+qpdf")' | |
| args: 'c("--as-cran", "--no-manual")' | |
| error-on: '"warning"' | |
| check-dir: '"check"' | |
| # Extended check - only on push to main/develop (not PRs) | |
| # Tests macOS, Windows, and oldrel-1 for full CRAN compliance | |
| R-CMD-check-extended: | |
| if: github.event_name == 'push' | |
| runs-on: ${{ matrix.config.os }} | |
| timeout-minutes: 25 | |
| name: ${{ matrix.config.os }} (${{ matrix.config.r }}) | |
| needs: [R-CMD-check-core] # Run after core completes | |
| strategy: | |
| fail-fast: false | |
| max-parallel: 1 # Keep for API rate limiting | |
| matrix: | |
| config: | |
| - {os: macos-latest, r: 'release'} | |
| - {os: windows-latest, r: 'release'} | |
| - {os: ubuntu-latest, r: 'oldrel-1'} | |
| env: | |
| GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} | |
| R_KEEP_PKG_SOURCE: yes | |
| OMOPHUB_API_KEY: ${{ secrets.OMOPHUB_API_KEY }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: r-lib/actions/setup-pandoc@v2 | |
| - 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@v2 | |
| with: | |
| extra-packages: any::rcmdcheck | |
| needs: check | |
| cache-version: 2 | |
| - uses: r-lib/actions/check-r-package@v2 | |
| with: | |
| upload-snapshots: true | |
| build_args: 'c("--no-manual", "--compact-vignettes=gs+qpdf")' | |
| args: 'c("--as-cran", "--no-manual")' | |
| error-on: '"warning"' | |
| check-dir: '"check"' |