diff --git a/.github/workflows/R_CMD_check_Hades.yaml b/.github/workflows/R_CMD_check_Hades.yaml index 33685b7db..e3865edfc 100644 --- a/.github/workflows/R_CMD_check_Hades.yaml +++ b/.github/workflows/R_CMD_check_Hades.yaml @@ -3,10 +3,11 @@ on: push: branches: - - '**' + - 'develop' + - 'main' pull_request: branches: - - '**' + - 'main' name: R-CMD-check diff --git a/.github/workflows/R_CMD_check_sqlite_only.yaml b/.github/workflows/R_CMD_check_sqlite_only.yaml new file mode 100644 index 000000000..42a3f1277 --- /dev/null +++ b/.github/workflows/R_CMD_check_sqlite_only.yaml @@ -0,0 +1,154 @@ +# For help debugging build failures open an issue on the RStudio community with the 'github-actions' tag. +# https://community.rstudio.com/new-topic?category=Package%20development&tags=github-actions +on: + push: + branches: + - '**' + - '!develop' + - '!main' + pull_request: + branches: + - "**" + - '!main' + - "!develop" + + +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: windows-latest, r: 'release'} + - {os: macOS-latest, r: 'release'} + + env: + GITHUB_PAT: ${{ secrets.GH_TOKEN }} + R_REMOTES_NO_ERRORS_FROM_WARNINGS: true + RSPM: ${{ matrix.config.rspm }} + SKIP_DB_TESTS: "TRUE" + + steps: + - uses: actions/checkout@v3 + + - uses: r-lib/actions/setup-r@v2 + with: + r-version: ${{ matrix.config.r }} + + - uses: r-lib/actions/setup-tinytex@v2 + + - uses: r-lib/actions/setup-pandoc@v2 + + - name: Install system requirements + if: runner.os == 'Linux' + run: | + sudo apt-get install -y libssh-dev + Rscript -e 'install.packages("remotes")' + while read -r cmd + do + eval sudo $cmd + done < <(Rscript -e 'writeLines(remotes::system_requirements("ubuntu", "20.04"))') + + - uses: r-lib/actions/setup-r-dependencies@v2 + with: + extra-packages: any::rcmdcheck + needs: check + + - uses: r-lib/actions/check-r-package@v2 + with: + args: 'c("--no-manual", "--as-cran")' + build_args: 'c("--compact-vignettes=both")' + error-on: '"warning"' + check-dir: '"check"' + + - name: Upload source package + if: success() && runner.os == 'macOS' && github.event_name != 'pull_request' && github.ref == 'refs/heads/main' + uses: actions/upload-artifact@v2 + with: + name: package_tarball + path: check/*.tar.gz + + - name: Install covr + if: runner.os == 'macOS' + run: | + install.packages("covr") + shell: Rscript {0} + + - name: Test coverage + if: runner.os == 'macOS' + run: covr::codecov() + shell: Rscript {0} + + Release: + needs: R-CMD-Check + + runs-on: macOS-latest + + env: + GH_TOKEN: ${{ secrets.GH_TOKEN }} + + if: ${{ github.event_name != 'pull_request' && github.ref == 'refs/heads/main' }} + + steps: + + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Check if version has increased + run: | + echo "new_version="$(perl compare_versions --tag) >> $GITHUB_ENV + + - name: Display new version number + if: ${{ env.new_version != '' }} + run: | + echo "${{ env.new_version }}" + + - name: Create release + if: ${{ env.new_version != '' }} + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} + with: + tag_name: ${{ env.new_version }} + release_name: Release ${{ env.new_version }} + body: | + See NEWS.md for release notes. + draft: false + prerelease: false + + - uses: r-lib/actions/setup-r@v2 + if: ${{ env.new_version != '' }} + + - name: Install drat + if: ${{ env.new_version != '' }} + run: | + install.packages('drat') + shell: Rscript {0} + + - name: Remove any tarballs that already exists + if: ${{ env.new_version != '' }} + run: | + rm -f *.tar.gz + + - name: Download package tarball + if: ${{ env.new_version != '' }} + uses: actions/download-artifact@v2 + with: + name: package_tarball + + - name: Push to drat + if: ${{ env.new_version != '' }} + run: | + bash deploy.sh + + - name: Push to BroadSea + if: ${{ env.new_version != '' }} + run: | + curl --data "build=true" -X POST https://registry.hub.docker.com/u/ohdsi/broadsea-methodslibrary/trigger/f0b51cec-4027-4781-9383-4b38b42dd4f5/ diff --git a/tests/testOracle.R b/tests/testOracle.R index 4f9d43b25..b419bf9c7 100644 --- a/tests/testOracle.R +++ b/tests/testOracle.R @@ -1,3 +1,6 @@ library(testthat) -options(dbms = "oracle") -test_check("CohortDiagnostics") + +if (Sys.getenv("SKIP_DB_TESTS") != "TRUE") { + options(dbms = "oracle") + test_check("CohortDiagnostics") +} \ No newline at end of file diff --git a/tests/testPostgres.R b/tests/testPostgres.R index d3f660617..b1ec78b79 100644 --- a/tests/testPostgres.R +++ b/tests/testPostgres.R @@ -1,3 +1,6 @@ library(testthat) -options(dbms = "postgresql") -test_check("CohortDiagnostics") + +if (Sys.getenv("SKIP_DB_TESTS") != "TRUE") { + options(dbms = "postgresql") + test_check("CohortDiagnostics") +} \ No newline at end of file diff --git a/tests/testRedshift.R b/tests/testRedshift.R index 4bf59af59..f2973daf5 100644 --- a/tests/testRedshift.R +++ b/tests/testRedshift.R @@ -1,3 +1,6 @@ library(testthat) -options(dbms = "redshift") -test_check("CohortDiagnostics") + +if (Sys.getenv("SKIP_DB_TESTS") != "TRUE") { + options(dbms = "redshift") + test_check("CohortDiagnostics") +} diff --git a/tests/testSqlServer.R b/tests/testSqlServer.R index df8a1d57c..a88313335 100644 --- a/tests/testSqlServer.R +++ b/tests/testSqlServer.R @@ -1,3 +1,6 @@ library(testthat) -options(dbms = "sql server") -test_check("CohortDiagnostics") + +if (Sys.getenv("SKIP_DB_TESTS") != "TRUE") { + options(dbms = "sql server") + test_check("CohortDiagnostics") +} \ No newline at end of file