diff --git a/.github/workflows/build_site.yml b/.github/workflows/build_site.yml new file mode 100644 index 00000000..47a1227d --- /dev/null +++ b/.github/workflows/build_site.yml @@ -0,0 +1,81 @@ +name: Release R CMD check and build site + +on: + push: + branches: + - RELEASE_3_19 + +jobs: + checkRelease: + runs-on: ubuntu-latest + + env: + R_REMOTES_NO_ERRORS_FROM_WARNINGS: true + GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + CRAN: https://packagemanager.posit.co/cran/__linux__/jammy/latest + BIOC_VERSION: RELEASE_3_19 + + container: bioconductor/bioconductor_docker:${{ env.BIOC_VERSION }} + + steps: + - name: Checkout Repository + uses: actions/checkout@v3 + with: + ref: ${{ env.BIOC_VERSION }} + + - name: Query dependencies + run: | + BiocManager::install("remotes") + saveRDS(remotes::dev_package_deps(dependencies = TRUE), ".github/depends.Rds", version = 2) + shell: Rscript {0} + + - name: Cache R packages + if: runner.os != 'Windows' + uses: actions/cache@v3 + with: + path: /usr/local/lib/R/site-library + key: ${{ runner.os }}-r-${{ env.BIOC_VERSION }}-${{ hashFiles('.github/depends.Rds') }} + restore-keys: ${{ runner.os }}-r-${{ env.BIOC_VERSION }}- + + - name: Install Dependencies + run: | + remotes::install_deps(dependencies = TRUE, repos = BiocManager::repositories()) + BiocManager::install(c("rcmdcheck", "pkgdown", "covr"), ask = FALSE, update = TRUE) + shell: Rscript {0} + + - name: System dependencies + run: | + pip install ghp-import + + - name: Check Package + id: rcmdcheck + env: + _R_CHECK_CRAN_INCOMING_REMOTE_: false + run: rcmdcheck::rcmdcheck(args = c("--no-manual"), error_on = "error", check_dir = "check") + shell: Rscript {0} + + - name: Test coverage + run: | + covr::codecov( + quiet = FALSE, + clean = FALSE, + install_path = file.path(normalizePath(Sys.getenv("RUNNER_TEMP"), winslash = "/"), "package") + ) + shell: Rscript {0} + + - name: Build pkgdown + run: | + PATH=$PATH:$HOME/bin/ Rscript -e 'pkgdown::build_site()' + + - name: Install deploy dependencies + run: | + apt-get update + apt-get -y install rsync + + - name: Deploy 🚀 + uses: JamesIves/github-pages-deploy-action@v4 + with: + TOKEN: ${{ secrets.GITHUB_TOKEN }} + BRANCH: gh-pages # The branch the action should deploy to. + FOLDER: docs # The folder the action should deploy. +