|
1 | | -# NOTE: This script is a modification of the r-lib/actions standard cehcking script and the public-private sync script, on which it piggybacks to detect when it's in a private repo and can therefore skip some or even all tests. It also builds and uploads binaries for Windows and MacOS. |
| 1 | +# NOTE: This script is a modification of the r-lib/actions standard cehcking script and the public-private sync script, on which it piggybacks to detect when it's in a private repo and can therefore skip some or even all tests. |
2 | 2 |
|
3 | 3 | # For help debugging build failures open an issue on the RStudio community with the 'github-actions' tag. |
4 | 4 | # https://community.rstudio.com/new-topic?category=Package%20development&tags=github-actions |
|
17 | 17 | # non-forbidden symbol) separated list of flags. Currently |
18 | 18 | # supported: |
19 | 19 | # |
20 | | -# binaries: build and upload as an artefact a binary version (particularly for MacOS and Windows). |
21 | | -# |
22 | 20 | # full: run with ENABLE_statnet_TESTS. |
23 | 21 | # |
24 | 22 | # vignettes: build vignettes and manuals; otherwise ignore. |
|
27 | 25 | # |
28 | 26 | # debug: compile package with -DDEBUG and -UNDEBUG |
29 | 27 | # |
30 | | -# covr: run in covr mode may be used with 'full' but probably not with others. |
| 28 | +# covr: run in covr mode may be used with 'full' but probably not with others |
| 29 | +# |
| 30 | +# remote: run with remote tests (e.g., version number) enabled |
| 31 | +# |
| 32 | +# strict: fail on WARNING, not just ERROR; useful for release branches |
31 | 33 | # |
32 | 34 | # |
33 | 35 | # Typical public, private, and release configurations are provided in the variables below. |
|
41 | 43 | PUBLIC: '' |
42 | 44 | PRIVATE: '' |
43 | 45 | PUBLIC_CONFIG: '{"config":[ |
44 | | - {"os":"windows-latest", "r":"release", "timeout":360, "flags":"binaries"}, |
45 | | - {"os":"macOS-latest", "r":"release", "timeout":360, "flags":"binaries, ubsan"}, |
| 46 | + {"os":"windows-latest", "r":"release", "timeout":360, "flags":""}, |
| 47 | + {"os":"macOS-latest", "r":"release", "timeout":360, "flags":"ubsan"}, |
46 | 48 | {"os":"ubuntu-latest", "r":"release", "timeout":360, "flags":"full, ubsan, debug"}, |
47 | 49 | {"os":"ubuntu-latest", "r":"devel", "timeout":360, "flags":"vignettes, remote"}, |
48 | 50 | {"os":"ubuntu-latest", "r":"release", "timeout":360, "flags":"full, covr"}]}' |
49 | 51 | RELEASE_CONFIG: '{"config":[ |
50 | | - {"os":"windows-latest", "r":"release", "timeout":360, "flags":"binaries, vignettes, remote, strict"}, |
51 | | - {"os":"macOS-latest", "r":"release", "timeout":360, "flags":"binaries, ubsan, vignettes, remote, strict"}, |
| 52 | + {"os":"windows-latest", "r":"release", "timeout":360, "flags":"vignettes, remote, strict"}, |
| 53 | + {"os":"macOS-latest", "r":"release", "timeout":360, "flags":"ubsan, vignettes, remote, strict"}, |
52 | 54 | {"os":"ubuntu-latest", "r":"release", "timeout":360, "flags":"full, ubsan, debug, strict"}, |
53 | 55 | {"os":"ubuntu-latest", "r":"devel", "timeout":360, "flags":"vignettes, remote, strict"}, |
54 | 56 | {"os":"ubuntu-latest", "r":"release", "timeout":360, "flags":"full, covr, strict"}]}' |
@@ -194,25 +196,6 @@ jobs: |
194 | 196 | tinytex::tlmgr_install("makeindex") |
195 | 197 | shell: Rscript {0} |
196 | 198 |
|
197 | | - - name: Build |
198 | | - if: contains(matrix.config.flags, 'binaries') |
199 | | - run: | |
200 | | - dir.create("binaries", FALSE) |
201 | | - pkgbuild::build(binary=TRUE, vignettes=FALSE, dest_path = "binaries") |
202 | | - shell: Rscript {0} |
203 | | - |
204 | | - - name: Upload build results |
205 | | - if: contains(matrix.config.flags, 'binaries') && !failure() |
206 | | - uses: actions/upload-artifact@v4 |
207 | | - with: |
208 | | - name: ${{ runner.os }}-r${{ matrix.config.r }}-binaries |
209 | | - path: binaries |
210 | | - |
211 | | - - name: Clean up build results |
212 | | - if: contains(matrix.config.flags, 'binaries') |
213 | | - run: rm -rf binaries |
214 | | - shell: bash |
215 | | - |
216 | 199 | - name: Check |
217 | 200 | if: contains(matrix.config.flags, 'covr') == false |
218 | 201 | timeout-minutes: ${{ matrix.config.timeout }} |
|
0 commit comments