build the bundled onetbb on windows when rtools has no onetbb #256
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
| # Workflow derived from https://github.com/r-lib/actions/tree/v2/examples | |
| # Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help | |
| on: | |
| push: | |
| branches: [main, master] | |
| pull_request: | |
| branches: [main, master] | |
| name: R-CMD-check | |
| jobs: | |
| R-CMD-check: | |
| runs-on: ${{ matrix.config.os }} | |
| name: ${{ matrix.config.os }} (${{ matrix.config.r }}) | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| config: | |
| - {os: macOS-latest, r: 'release'} | |
| - {os: ubuntu-latest, r: 'release'} | |
| - {os: ubuntu-24.04-arm, r: 'release'} | |
| - {os: windows-latest, r: 'release'} | |
| - {os: windows-11-arm, r: 'release'} | |
| # Rtools42 provides only a pre-oneTBB copy of TBB, so this is the | |
| # one configuration that builds the bundled oneTBB on Windows | |
| - {os: windows-latest, r: '4.2'} | |
| env: | |
| GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} | |
| R_KEEP_PKG_SOURCE: yes | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - uses: r-lib/actions/setup-r@v2 | |
| with: | |
| r-version: ${{ matrix.config.r }} | |
| use-public-rspm: true | |
| - uses: r-lib/actions/setup-r-dependencies@v2 | |
| with: | |
| extra-packages: any::rcmdcheck | |
| needs: check | |
| - uses: r-lib/actions/check-r-package@v2 | |
| # Verify that a package can still compile and link against the TBB API that | |
| # RcppParallel advertises. This is the contract rstan (via StanHeaders) | |
| # depends on, and it is not covered by R CMD check: RcppParallel can install | |
| # perfectly well while leaving downstream packages unable to build. | |
| downstream: | |
| runs-on: windows-latest | |
| name: downstream (${{ matrix.r }}) | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| r: ['4.2', 'release'] | |
| env: | |
| GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} | |
| VERBOSE: 1 | |
| # the default shell on Windows runners is PowerShell, which aliases 'r' | |
| # to Invoke-History and so mangles 'R CMD INSTALL' | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - uses: r-lib/actions/setup-r@v2 | |
| with: | |
| r-version: ${{ matrix.r }} | |
| use-public-rspm: true | |
| - name: install RcppParallel | |
| run: R CMD INSTALL --preclean . | |
| - name: build against RcppParallel | |
| run: Rscript .github/scripts/tbb-downstream-check.R |