Skip to content

Commit

Permalink
Merge pull request #24 from OHDSI/develop
Browse files Browse the repository at this point in the history
Update Main branch to publish ready (carry over from Mlhades4)

1/18/2022
Additional changes for v1.0.0 release
- add show method to Capr objects
- add some validity checks to Capr objects
- fix bugs in unit testing and vignettes
  • Loading branch information
mdlavallee92 authored Jan 18, 2022
2 parents 2eb3ff5 + 4a52cf7 commit 4f1a88b
Show file tree
Hide file tree
Showing 336 changed files with 18,920 additions and 2,833 deletions.
5 changes: 5 additions & 0 deletions .Rbuildignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,7 @@
^Capr\.Rproj$
^\.Rproj\.user$
.github
deploy.sh
compare_versions
^doc$
^Meta$
195 changes: 195 additions & 0 deletions .github/workflows/R_CMD_check_Hades.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,195 @@
# 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:
- '**'
pull_request:
branches:
- '**'

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'} # Does not appear to have Java 32-bit, hence the --no-multiarch
- {os: macOS-latest, r: 'release'}
- {os: ubuntu-20.04, r: 'release', rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"}


env:
GITHUB_PAT: ${{ secrets.GH_TOKEN }}
R_REMOTES_NO_ERRORS_FROM_WARNINGS: true
RSPM: ${{ matrix.config.rspm }}
CDM5_ORACLE_CDM_SCHEMA: ${{ secrets.CDM5_ORACLE_CDM_SCHEMA }}
CDM5_ORACLE_OHDSI_SCHEMA: ${{ secrets.CDM5_ORACLE_OHDSI_SCHEMA }}
CDM5_ORACLE_PASSWORD: ${{ secrets.CDM5_ORACLE_PASSWORD }}
CDM5_ORACLE_SERVER: ${{ secrets.CDM5_ORACLE_SERVER }}
CDM5_ORACLE_USER: ${{ secrets.CDM5_ORACLE_USER }}
CDM5_POSTGRESQL_CDM_SCHEMA: ${{ secrets.CDM5_POSTGRESQL_CDM_SCHEMA }}
CDM5_POSTGRESQL_OHDSI_SCHEMA: ${{ secrets.CDM5_POSTGRESQL_OHDSI_SCHEMA }}
CDM5_POSTGRESQL_PASSWORD: ${{ secrets.CDM5_POSTGRESQL_PASSWORD }}
CDM5_POSTGRESQL_SERVER: ${{ secrets.CDM5_POSTGRESQL_SERVER }}
CDM5_POSTGRESQL_USER: ${{ secrets.CDM5_POSTGRESQL_USER }}
CDM5_SQL_SERVER_CDM_SCHEMA: ${{ secrets.CDM5_SQL_SERVER_CDM_SCHEMA }}
CDM5_SQL_SERVER_OHDSI_SCHEMA: ${{ secrets.CDM5_SQL_SERVER_OHDSI_SCHEMA }}
CDM5_SQL_SERVER_PASSWORD: ${{ secrets.CDM5_SQL_SERVER_PASSWORD }}
CDM5_SQL_SERVER_SERVER: ${{ secrets.CDM5_SQL_SERVER_SERVER }}
CDM5_SQL_SERVER_USER: ${{ secrets.CDM5_SQL_SERVER_USER }}

steps:
- uses: actions/checkout@v2

- uses: r-lib/actions/setup-r@v1
with:
r-version: ${{ matrix.config.r }}

- uses: r-lib/actions/setup-tinytex@v1

- uses: r-lib/actions/setup-pandoc@v1

- name: Query dependencies
run: |
install.packages('remotes')
saveRDS(remotes::dev_package_deps(dependencies = TRUE), ".github/depends.Rds", version = 2)
writeLines(sprintf("R-%i.%i", getRversion()$major, getRversion()$minor), ".github/R-version")
shell: Rscript {0}

- name: Cache R packages
if: runner.os != 'Windows'
uses: actions/cache@v2
with:
path: ${{ env.R_LIBS_USER }}
key: ${{ runner.os }}-${{ hashFiles('.github/R-version') }}-1-${{ hashFiles('.github/depends.Rds') }}
restore-keys: ${{ runner.os }}-${{ hashFiles('.github/R-version') }}-1-

- name: Install system dependencies
if: runner.os == 'Linux'
run: |
while read -r cmd
do
eval sudo $cmd
done < <(Rscript -e 'writeLines(remotes::system_requirements("ubuntu", "20.04"))')
- name: Install libssh
if: runner.os == 'Linux'
run: |
sudo apt-get install libssh-dev
- name: Install dependencies
run: |
remotes::install_deps(dependencies = TRUE, INSTALL_opts=c("--no-multiarch"))
remotes::install_cran("rcmdcheck")
shell: Rscript {0}

- name: Install covr
if: runner.os == 'macOS'
run: |
remotes::install_cran("covr")
shell: Rscript {0}

- name: Remove check folder if exists
if: runner.os == 'macOS'
run: unlink("check", recursive = TRUE)
shell: Rscript {0}

- name: Check
env:
_R_CHECK_CRAN_INCOMING_REMOTE_: false
run: rcmdcheck::rcmdcheck(args = c("--no-manual", "--as-cran", "--no-multiarch"), error_on = "warning", check_dir = "check")
shell: Rscript {0}

- name: Upload check results
if: failure()
uses: actions/upload-artifact@v2
with:
name: ${{ runner.os }}-r${{ matrix.config.r }}-results
path: check

- name: Upload source package
if: success() && runner.os == 'macOS' && github.event_name != 'pull_request' && github.ref == 'refs/heads/master'
uses: actions/upload-artifact@v2
with:
name: package_tarball
path: check/*.tar.gz

- 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/master' }}

steps:

- uses: actions/checkout@v2
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@v1
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/
18 changes: 18 additions & 0 deletions .github/workflows/nightly_cleanup_Hades.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: 'nightly artifacts cleanup'
on:
schedule:
- cron: '0 1 * * *' # every night at 1 am UTC

jobs:
remove-old-artifacts:
runs-on: ubuntu-latest
timeout-minutes: 10

steps:
- name: Remove old artifacts
uses: c-hive/gha-remove-artifacts@v1
with:
age: '7 days'
# Optional inputs
# skip-tags: true
skip-recent: 1
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,6 @@ inst/doc
.DS_Store
errorReportSql.txt
*.log
/doc/
/Meta/
work/*
23 changes: 17 additions & 6 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
Package: Capr
Title: Cohort definition Application Programming in R
Version: 0.0.1.994
Version: 1.0.0
Authors@R:
person(given = "Martin",
family = "Lavallee",
role = c("aut", "cre"),
email = "mlavallee@ltscomputingllc.com")
email = "mdlavallee92@gmail.com")
Description: The CAPR package develops cohort definitions to implement across an OMOP mapped dbms. This pacakge allows
allows for the programmatic creation of OMOP cohorts that compile to the CIRCE-BE engine. CAPR utilizes s4 to construct
component parts to the cohort definition (i.e. Primary Criteria, Inclusion Rules, Additional Criteria, Censoring Criteria,
Expand All @@ -16,7 +16,7 @@ Description: The CAPR package develops cohort definitions to implement across an
License: Apache License 2.0
Encoding: UTF-8
LazyData: true
RoxygenNote: 7.1.1
RoxygenNote: 7.1.2
Depends:
R (>= 3.5.0),
CirceR (>= 1.0.0),
Expand All @@ -30,12 +30,21 @@ Imports:
rlang,
uuid,
SqlRender,
data.table,
dplyr,
checkmate
checkmate,
tibble,
withr,
readr,
utils,
stringr,
glue,
cli
Suggests:
testthat (>= 3.0.0),
knitr,
rmarkdown
Remotes:
ohdsi/CirceR
Collate:
'Capr.R'
'LowLevelClasses.R'
Expand All @@ -45,11 +54,13 @@ Collate:
'LowLevelCreateFn.R'
'LowLevelLoadFn.R'
'LowLevelSaveFn.R'
'UserAttributeEdit.R'
'UserCommands.R'
'UserConceptLookupFn.R'
'UserCreateAttributeFn.R'
'UserCreateDomainFn.R'
'UserCreateFn.R'
'UserEditFn.R'
'UserPrintFn.R'
'utils.R'
VignetteBuilder: knitr
Config/testthat/edition: 3
Loading

0 comments on commit 4f1a88b

Please sign in to comment.