diff --git a/.github/workflows/check-random-test-order.yaml b/.github/workflows/check-random-test-order.yaml new file mode 100644 index 000000000..c559073ef --- /dev/null +++ b/.github/workflows/check-random-test-order.yaml @@ -0,0 +1,33 @@ +on: + push: + branches: + - 'rc-*' + +name: check-random-test-order + +jobs: + check-random-test-order: + runs-on: ubuntu-latest + env: + GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + + steps: + - uses: actions/checkout@v5 + + - uses: r-lib/actions/setup-r@v2 + with: + use-public-rspm: true + + - uses: r-lib/actions/setup-r-dependencies@v2 + with: + install-quarto: false + extra-packages: local::. + + - name: Run Tests in Random Order + run: | + options(crayon.enabled = TRUE) + seed <- sample.int(1e6, 1L) + cli::cli_inform("Chosen seed for the current test run: {seed}") + set.seed(seed) + testthat::test_dir("tests", shuffle = TRUE) + shell: Rscript {0} diff --git a/.gitignore b/.gitignore index c3cf3b546..be0310217 100644 --- a/.gitignore +++ b/.gitignore @@ -15,7 +15,9 @@ script.R *.Rcheck lintr_*.tar.gz testthat-problems.rds +tests/testthat/_problems/ docs inst/doc .DS_Store +.claude/settings.local.json diff --git a/DESCRIPTION b/DESCRIPTION index 915e03d88..51691bb61 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -46,7 +46,7 @@ Suggests: rlang, rmarkdown, rstudioapi (>= 0.2), - testthat (>= 3.2.1), + testthat (>= 3.3.0), tibble, tufte, withr (>= 2.5.0)