diff --git a/github-actions/ggstatsplot/lint-changed-files.yaml b/github-actions/ggstatsplot/lint-changed-files.yaml index f5503c23..07492f62 100644 --- a/github-actions/ggstatsplot/lint-changed-files.yaml +++ b/github-actions/ggstatsplot/lint-changed-files.yaml @@ -22,12 +22,12 @@ jobs: with: pak-version: devel upgrade: 'TRUE' + needs: check extra-packages: | any::gh + any::purrr r-lib/lintr - - - name: Install package - run: R CMD INSTALL . + local::. - name: Extract and lint files changed by this PR run: | @@ -37,30 +37,8 @@ jobs: changed_files <- purrr::map_chr(files, "filename") all_files <- list.files(recursive = TRUE) exclusions_list <- as.list(setdiff(all_files, changed_files)) - lint_package(linters = linters_with_defaults( - absolute_path_linter = NULL, - assignment_linter = NULL, - commented_code_linter = NULL, - cyclocomp_linter(25L), - extraction_operator_linter = NULL, - if_not_else_linter(exceptions = character(0L)), - implicit_integer_linter = NULL, - library_call_linter = NULL, - line_length_linter(120L), - namespace_linter = NULL, - nonportable_path_linter = NULL, - object_name_linter = NULL, - object_length_linter(50L), - object_usage_linter = NULL, - string_boundary_linter = NULL, - strings_as_factors_linter = NULL, - todo_comment_linter = NULL, - undesirable_function_linter = NULL, - undesirable_operator_linter = NULL, - unnecessary_concatenation_linter(allow_single_expression = FALSE), - unused_import_linter = NULL, - defaults = linters_with_tags(tags = NULL) - ), exclusions = exclusions_list) + # lintr config in `.lintr` file + lint_package(exclusions = exclusions_list) shell: Rscript {0} - # env: - # LINTR_ERROR_ON_LINT: true + env: + LINTR_ERROR_ON_LINT: true diff --git a/github-actions/ggstatsplot/lint.yaml b/github-actions/ggstatsplot/lint.yaml index 6ee48e52..a44ebbe4 100644 --- a/github-actions/ggstatsplot/lint.yaml +++ b/github-actions/ggstatsplot/lint.yaml @@ -27,40 +27,18 @@ jobs: - uses: r-lib/actions/setup-r-dependencies@v2 with: pak-version: devel - upgrade: 'TRUE' + upgrade: "TRUE" extra-packages: | r-lib/lintr local::. needs: lint - # TODO: Revisit to remove some of these allowances after more important lints - # have been removed. - name: Lint run: | options(crayon.enabled = TRUE) library(lintr) - lint_package(linters = linters_with_defaults( - absolute_path_linter = NULL, - assignment_linter = NULL, - commented_code_linter = NULL, - cyclocomp_linter(25L), - extraction_operator_linter = NULL, - if_not_else_linter(exceptions = character(0L)), - implicit_integer_linter = NULL, - library_call_linter = NULL, - line_length_linter(120L), - namespace_linter = NULL, - nonportable_path_linter = NULL, - object_name_linter = NULL, - object_length_linter(50L), - object_usage_linter = NULL, - string_boundary_linter = NULL, - strings_as_factors_linter = NULL, - todo_comment_linter = NULL, - undesirable_function_linter = NULL, - undesirable_operator_linter = NULL, - unnecessary_concatenation_linter(allow_single_expression = FALSE), - unused_import_linter = NULL, - defaults = linters_with_tags(tags = NULL) - )) + # lintr config in `.lintr` file + lint_package() shell: Rscript {0} + env: + LINTR_ERROR_ON_LINT: true diff --git a/github-actions/googlesheets4/R-CMD-check.yaml b/github-actions/googlesheets4/R-CMD-check.yaml index ee65ccb5..e712a216 100644 --- a/github-actions/googlesheets4/R-CMD-check.yaml +++ b/github-actions/googlesheets4/R-CMD-check.yaml @@ -12,6 +12,8 @@ on: name: R-CMD-check +permissions: read-all + jobs: R-CMD-check: runs-on: ${{ matrix.config.os }} @@ -25,24 +27,22 @@ jobs: - {os: macos-latest, r: 'release'} - {os: windows-latest, r: 'release'} - # Use 3.6 to trigger usage of RTools35 - - {os: windows-latest, r: '3.6'} # use 4.1 to check with rtools40's older compiler - {os: windows-latest, r: '4.1'} - - {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'} - - {os: ubuntu-latest, r: 'release'} - - {os: ubuntu-latest, r: 'oldrel-1'} - - {os: ubuntu-latest, r: 'oldrel-2'} - - {os: ubuntu-latest, r: 'oldrel-3'} - - {os: ubuntu-latest, r: 'oldrel-4'} + - {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'} + - {os: ubuntu-latest, r: 'release'} + - {os: ubuntu-latest, r: 'oldrel-1'} + - {os: ubuntu-latest, r: 'oldrel-2'} + - {os: ubuntu-latest, r: 'oldrel-3'} + - {os: ubuntu-latest, r: 'oldrel-4'} env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} R_KEEP_PKG_SOURCE: yes steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: r-lib/actions/setup-pandoc@v2 @@ -60,3 +60,4 @@ jobs: - uses: r-lib/actions/check-r-package@v2 with: upload-snapshots: true + build_args: 'c("--no-manual","--compact-vignettes=gs+qpdf")' diff --git a/github-actions/googlesheets4/pkgdown.yaml b/github-actions/googlesheets4/pkgdown.yaml index 176eabd2..68bd1a0b 100644 --- a/github-actions/googlesheets4/pkgdown.yaml +++ b/github-actions/googlesheets4/pkgdown.yaml @@ -14,6 +14,8 @@ on: name: pkgdown +permissions: read-all + jobs: pkgdown: runs-on: ubuntu-latest @@ -28,8 +30,10 @@ jobs: env: GOOGLESHEETS4_KEY: ${{ secrets.GOOGLESHEETS4_KEY }} GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + permissions: + contents: write steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: r-lib/actions/setup-pandoc@v2 @@ -48,7 +52,7 @@ jobs: - name: Deploy to GitHub pages 🚀 if: github.event_name != 'pull_request' - uses: JamesIves/github-pages-deploy-action@v4.4.1 + uses: JamesIves/github-pages-deploy-action@v4.5.0 with: clean: false branch: gh-pages diff --git a/github-actions/googlesheets4/pr-commands.yaml b/github-actions/googlesheets4/pr-commands.yaml index 71f335b3..d1f76509 100644 --- a/github-actions/googlesheets4/pr-commands.yaml +++ b/github-actions/googlesheets4/pr-commands.yaml @@ -6,6 +6,8 @@ on: name: Commands +permissions: read-all + jobs: document: if: ${{ github.event.issue.pull_request && (github.event.comment.author_association == 'MEMBER' || github.event.comment.author_association == 'OWNER') && startsWith(github.event.comment.body, '/document') }} @@ -14,7 +16,7 @@ jobs: env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: r-lib/actions/pr-fetch@v2 with: @@ -51,7 +53,7 @@ jobs: env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: r-lib/actions/pr-fetch@v2 with: diff --git a/github-actions/googlesheets4/test-coverage.yaml b/github-actions/googlesheets4/test-coverage.yaml index 2a6ea8cf..1b5351e1 100644 --- a/github-actions/googlesheets4/test-coverage.yaml +++ b/github-actions/googlesheets4/test-coverage.yaml @@ -13,6 +13,8 @@ on: name: test-coverage +permissions: read-all + jobs: test-coverage: runs-on: ubuntu-latest @@ -23,7 +25,7 @@ jobs: GOOGLESHEETS4_KEY: ${{ secrets.GOOGLESHEETS4_KEY }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: r-lib/actions/setup-r@v2 with: @@ -31,28 +33,37 @@ jobs: - uses: r-lib/actions/setup-r-dependencies@v2 with: - extra-packages: any::covr + extra-packages: any::covr, any::xml2 needs: coverage - name: Test coverage run: | - covr::codecov( + cov <- covr::package_coverage( quiet = FALSE, clean = FALSE, - install_path = file.path(Sys.getenv("RUNNER_TEMP"), "package") + install_path = file.path(normalizePath(Sys.getenv("RUNNER_TEMP"), winslash = "/"), "package") ) + covr::to_cobertura(cov) shell: Rscript {0} + - uses: codecov/codecov-action@v4 + with: + fail_ci_if_error: ${{ github.event_name != 'pull_request' && true || false }} + file: ./cobertura.xml + plugin: noop + disable_search: true + token: ${{ secrets.CODECOV_TOKEN }} + - name: Show testthat output if: always() run: | ## -------------------------------------------------------------------- - find ${{ runner.temp }}/package -name 'testthat.Rout*' -exec cat '{}' \; || true + find '${{ runner.temp }}/package' -name 'testthat.Rout*' -exec cat '{}' \; || true shell: bash - name: Upload test results if: failure() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: coverage-test-failures path: ${{ runner.temp }}/package diff --git a/github-actions/googlesheets4/with-auth.yml b/github-actions/googlesheets4/with-auth.yml index 79f33575..09c3fbfd 100644 --- a/github-actions/googlesheets4/with-auth.yml +++ b/github-actions/googlesheets4/with-auth.yml @@ -5,6 +5,7 @@ on: branches: [main, master] name: with-auth +permissions: read-all jobs: with-auth: diff --git a/github-actions/mlflow/protos.yml b/github-actions/mlflow/protos.yml index 21e23c2d..edd006a7 100644 --- a/github-actions/mlflow/protos.yml +++ b/github-actions/mlflow/protos.yml @@ -11,7 +11,7 @@ on: - .github/workflows/protos.yml - mlflow/protos/** - mlflow/java/client/src/main/java/com/databricks/api/proto/** - - mlflow/server/graphql/graphql_schema_extensions.py # schema extension changes could trigger changes in the autogenerated schema + - mlflow/server/graphql/** # graphql related code changes could trigger changes in the autogenerated schema - requirements/skinny-requirements.txt - requirements/core-requirements.txt diff --git a/github-actions/plotly/R-CMD-check.yaml b/github-actions/plotly/R-CMD-check.yaml index fb06e614..4da952ce 100644 --- a/github-actions/plotly/R-CMD-check.yaml +++ b/github-actions/plotly/R-CMD-check.yaml @@ -47,6 +47,8 @@ jobs: steps: - uses: actions/checkout@v2 + with: + persist-credentials: false - uses: r-lib/actions/setup-r@v2 id: install-r @@ -81,7 +83,9 @@ jobs: uses: actions/upload-artifact@master with: name: ${{ runner.os }}-r${{ matrix.config.r }}-results - path: ./ + path: | + ./ + !./.git/ - name: Check package uses: r-lib/actions/check-r-package@v2 diff --git a/github-actions/rayshader/rhub.yaml b/github-actions/rayshader/rhub.yaml new file mode 100644 index 00000000..3e9e3bd0 --- /dev/null +++ b/github-actions/rayshader/rhub.yaml @@ -0,0 +1,101 @@ +# R-hub's generic GitHub Actions workflow file. It's canonical location is at +# https://github.com/r-hub/actions/blob/v1/workflows/rhub.yaml +# You can update this file to a newer version using the rhub2 package: +# +# rhub::rhub_setup() +# +# It is unlikely that you need to modify this file manually. + +name: R-hub +run-name: "${{ github.event.inputs.id }}: ${{ github.event.inputs.name || format('Manually run by {0}', github.triggering_actor) }}" + +on: + workflow_dispatch: + inputs: + config: + description: 'A comma separated list of R-hub platforms to use.' + type: string + default: 'linux,windows,macos' + name: + description: 'Run name. You can leave this empty now.' + type: string + id: + description: 'Unique ID. You can leave this empty now.' + type: string + +jobs: + + setup: + runs-on: ubuntu-latest + outputs: + containers: ${{ steps.rhub-setup.outputs.containers }} + platforms: ${{ steps.rhub-setup.outputs.platforms }} + + steps: + # NO NEED TO CHECKOUT HERE + - uses: r-hub/actions/setup@v1 + with: + config: ${{ github.event.inputs.config }} + id: rhub-setup + + linux-containers: + needs: setup + if: ${{ needs.setup.outputs.containers != '[]' }} + runs-on: ubuntu-latest + name: ${{ matrix.config.label }} + strategy: + fail-fast: false + matrix: + config: ${{ fromJson(needs.setup.outputs.containers) }} + container: + image: ${{ matrix.config.container }} + env: + RGL_USE_NULL: true + + steps: + - uses: r-hub/actions/checkout@v1 + - uses: r-hub/actions/platform-info@v1 + with: + token: ${{ secrets.RHUB_TOKEN }} + job-config: ${{ matrix.config.job-config }} + - uses: r-hub/actions/setup-deps@v1 + with: + token: ${{ secrets.RHUB_TOKEN }} + job-config: ${{ matrix.config.job-config }} + extra-packages: rlas=?ignore, lidR=?ignore + - uses: r-hub/actions/run-check@v1 + with: + token: ${{ secrets.RHUB_TOKEN }} + job-config: ${{ matrix.config.job-config }} + + other-platforms: + needs: setup + if: ${{ needs.setup.outputs.platforms != '[]' }} + runs-on: ${{ matrix.config.os }} + name: ${{ matrix.config.label }} + strategy: + fail-fast: false + matrix: + config: ${{ fromJson(needs.setup.outputs.platforms) }} + env: + RGL_USE_NULL: true + + steps: + - uses: r-hub/actions/checkout@v1 + - uses: r-hub/actions/setup-r@v1 + with: + job-config: ${{ matrix.config.job-config }} + token: ${{ secrets.RHUB_TOKEN }} + - uses: r-hub/actions/platform-info@v1 + with: + token: ${{ secrets.RHUB_TOKEN }} + job-config: ${{ matrix.config.job-config }} + - uses: r-hub/actions/setup-deps@v1 + with: + job-config: ${{ matrix.config.job-config }} + token: ${{ secrets.RHUB_TOKEN }} + extra-packages: rlas=?ignore, lidR=?ignore + - uses: r-hub/actions/run-check@v1 + with: + job-config: ${{ matrix.config.job-config }} + token: ${{ secrets.RHUB_TOKEN }} \ No newline at end of file diff --git a/github-actions/waldo/R-CMD-check.yaml b/github-actions/waldo/R-CMD-check.yaml index ee65ccb5..e712a216 100644 --- a/github-actions/waldo/R-CMD-check.yaml +++ b/github-actions/waldo/R-CMD-check.yaml @@ -12,6 +12,8 @@ on: name: R-CMD-check +permissions: read-all + jobs: R-CMD-check: runs-on: ${{ matrix.config.os }} @@ -25,24 +27,22 @@ jobs: - {os: macos-latest, r: 'release'} - {os: windows-latest, r: 'release'} - # Use 3.6 to trigger usage of RTools35 - - {os: windows-latest, r: '3.6'} # use 4.1 to check with rtools40's older compiler - {os: windows-latest, r: '4.1'} - - {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'} - - {os: ubuntu-latest, r: 'release'} - - {os: ubuntu-latest, r: 'oldrel-1'} - - {os: ubuntu-latest, r: 'oldrel-2'} - - {os: ubuntu-latest, r: 'oldrel-3'} - - {os: ubuntu-latest, r: 'oldrel-4'} + - {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'} + - {os: ubuntu-latest, r: 'release'} + - {os: ubuntu-latest, r: 'oldrel-1'} + - {os: ubuntu-latest, r: 'oldrel-2'} + - {os: ubuntu-latest, r: 'oldrel-3'} + - {os: ubuntu-latest, r: 'oldrel-4'} env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} R_KEEP_PKG_SOURCE: yes steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: r-lib/actions/setup-pandoc@v2 @@ -60,3 +60,4 @@ jobs: - uses: r-lib/actions/check-r-package@v2 with: upload-snapshots: true + build_args: 'c("--no-manual","--compact-vignettes=gs+qpdf")' diff --git a/github-actions/waldo/pkgdown.yaml b/github-actions/waldo/pkgdown.yaml index ed7650c7..c9f0165d 100644 --- a/github-actions/waldo/pkgdown.yaml +++ b/github-actions/waldo/pkgdown.yaml @@ -11,6 +11,8 @@ on: name: pkgdown +permissions: read-all + jobs: pkgdown: runs-on: ubuntu-latest @@ -22,7 +24,7 @@ jobs: permissions: contents: write steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: r-lib/actions/setup-pandoc@v2 @@ -41,7 +43,7 @@ jobs: - name: Deploy to GitHub pages 🚀 if: github.event_name != 'pull_request' - uses: JamesIves/github-pages-deploy-action@v4.4.1 + uses: JamesIves/github-pages-deploy-action@v4.5.0 with: clean: false branch: gh-pages diff --git a/github-actions/waldo/pr-commands.yaml b/github-actions/waldo/pr-commands.yaml index 71f335b3..d1f76509 100644 --- a/github-actions/waldo/pr-commands.yaml +++ b/github-actions/waldo/pr-commands.yaml @@ -6,6 +6,8 @@ on: name: Commands +permissions: read-all + jobs: document: if: ${{ github.event.issue.pull_request && (github.event.comment.author_association == 'MEMBER' || github.event.comment.author_association == 'OWNER') && startsWith(github.event.comment.body, '/document') }} @@ -14,7 +16,7 @@ jobs: env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: r-lib/actions/pr-fetch@v2 with: @@ -51,7 +53,7 @@ jobs: env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: r-lib/actions/pr-fetch@v2 with: diff --git a/github-actions/waldo/test-coverage.yaml b/github-actions/waldo/test-coverage.yaml index 27d45283..fefc52e2 100644 --- a/github-actions/waldo/test-coverage.yaml +++ b/github-actions/waldo/test-coverage.yaml @@ -8,6 +8,8 @@ on: name: test-coverage +permissions: read-all + jobs: test-coverage: runs-on: ubuntu-latest @@ -15,7 +17,7 @@ jobs: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: r-lib/actions/setup-r@v2 with: @@ -23,28 +25,37 @@ jobs: - uses: r-lib/actions/setup-r-dependencies@v2 with: - extra-packages: any::covr + extra-packages: any::covr, any::xml2 needs: coverage - name: Test coverage run: | - covr::codecov( + cov <- covr::package_coverage( quiet = FALSE, clean = FALSE, install_path = file.path(normalizePath(Sys.getenv("RUNNER_TEMP"), winslash = "/"), "package") ) + covr::to_cobertura(cov) shell: Rscript {0} + - uses: codecov/codecov-action@v4 + with: + fail_ci_if_error: ${{ github.event_name != 'pull_request' && true || false }} + file: ./cobertura.xml + plugin: noop + disable_search: true + token: ${{ secrets.CODECOV_TOKEN }} + - name: Show testthat output if: always() run: | ## -------------------------------------------------------------------- - find ${{ runner.temp }}/package -name 'testthat.Rout*' -exec cat '{}' \; || true + find '${{ runner.temp }}/package' -name 'testthat.Rout*' -exec cat '{}' \; || true shell: bash - name: Upload test results if: failure() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: coverage-test-failures path: ${{ runner.temp }}/package diff --git a/pkgdown/forecast_pkgdown.yml b/pkgdown/forecast_pkgdown.yml index 9d2bbf7f..b60749fb 100644 --- a/pkgdown/forecast_pkgdown.yml +++ b/pkgdown/forecast_pkgdown.yml @@ -1,7 +1,7 @@ url: https://pkg.robjhyndman.com/forecast/ + template: bootstrap: 5 - theme: tango bootswatch: flatly bslib: base_font: {google: "Fira Sans"} @@ -9,6 +9,8 @@ template: code_font: "Hack, mono" primary: "#234460" link-color: "#234460" + math-rendering: katex + theme: tango includes: in_header: diff --git a/pkgdown/leaflet_pkgdown.yml b/pkgdown/leaflet_pkgdown.yml index 799b7489..1368c600 100644 --- a/pkgdown/leaflet_pkgdown.yml +++ b/pkgdown/leaflet_pkgdown.yml @@ -1,7 +1,7 @@ url: https://rstudio.github.io/leaflet/ -development: - mode: auto +# development: +# mode: auto template: package: tidytemplate @@ -42,6 +42,7 @@ articles: - articles/legends - articles/shapes - articles/basemaps + - title: Spatial data navbar: Spatial data contents: @@ -71,3 +72,88 @@ redirects: - ["shiny.html", "articles/shiny.html"] - ["showhide.html", "articles/showhide.html"] - ["map_widget.html", "articles/widget.html"] + +reference: +- title: The Map Widget + desc: The map widget and methods to manipulate it + contents: + - leaflet + - setView + - mapOptions + - leafletSizingPolicy + +- title: Graphics Elements + desc: Adding and removing graphics + contents: + - addTiles + - tileOptions + - addProviderTiles + - providers + - addLegend + - addRasterImage + - addRasterLegend + +- title: Layers & Groups + desc: Control groups and switch layers on and off + contents: + - addMapPane + - addLayersControl + - showGroup + - groupOptions + +- title: Colors + desc: Map variables to colors + contents: + - colorFactor + - previewColors + +- title: Icons + desc: Use icons in `leaflet::addMarkers()` + contents: + - icons + - makeIcon + - iconList + +- title: Add-ons + desc: Utility functions to add additional functionality to a `{leaflet}` map +- subtitle: Awesome Markers + contents: + - addAwesomeMarkers + - awesomeIcons + - makeAwesomeIcon + - awesomeIconList +- subtitle: Other + contents: + - addMeasure + - addScaleBar + - addGraticule + - addSimpleGraticule + - addTerminator + - addMiniMap + - addEasyButton + - addEasyButtonBar + +- title: Shiny + desc: Using leaflet in `{shiny}` + contents: + - leafletOutput + - leafletProxy + - removeControl + +- title: Extending Leaflet + desc: Functions for extending leaflet + contents: + - derivePoints + - evalFormula + - expandLimits + - expandLimitsBbox + - filterNULL + - getMapData + - invokeMethod + - validateCoords + - leafletDependencies + +- title: Built in datasets + desc: Spatial datasets exported by `{leaflet}` + contents: + - has_concept("built in datasets") diff --git a/pkgdown/usethis_pkgdown.yml b/pkgdown/usethis_pkgdown.yml index 11664e0a..df4d8a5e 100644 --- a/pkgdown/usethis_pkgdown.yml +++ b/pkgdown/usethis_pkgdown.yml @@ -58,6 +58,7 @@ reference: - use_rmarkdown_template - use_spell_check - use_test + - use_test_helper - use_vignette - use_addin - use_citation @@ -91,11 +92,9 @@ reference: - title: Continuous integration contents: - use_github_action - - use_appveyor - use_circleci - use_gitlab_ci - use_jenkins - - use_travis - title: Tidyverse development desc: > Conventions used in the tidyverse and r-lib organisations @@ -155,21 +154,11 @@ reference: - use_rmarkdown_template - use_rstudio - use_rstudio_preferences - - title: Defunct and deprecated functions - desc: > - - Defunct lifecycle - - - Deprecated lifecycle - + - title: Deprecated functions contents: - - browse_github_token - - git_credentials - - pr_pull_upstream + - git_branch_default - use_github_actions - - use_tidy_labels - - use_travis + - use_tidy_eval articles: - title: Basics