Skip to content

Commit

Permalink
Merge pull request #17 from OHDSI/develop
Browse files Browse the repository at this point in the history
Release 1.5.1
  • Loading branch information
azimov authored Apr 5, 2021
2 parents 1816b0d + 19ecb8b commit 159ea96
Show file tree
Hide file tree
Showing 64 changed files with 5,329 additions and 291 deletions.
6 changes: 5 additions & 1 deletion .Rbuildignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
^renv$
^renv\.lock$
^.*\.Rproj$
^\.Rproj\.user$
.gitattributes
Expand All @@ -7,4 +9,6 @@ extras
^\.git
deploy.sh
compare_versions
_pkgdown.yml
_pkgdown.yml
work/*
docs/*
193 changes: 193 additions & 0 deletions .github/workflows/R_CMD_check_Hades.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,193 @@
# 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"}
- {os: ubuntu-20.04, r: 'devel', rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"}

env:
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: |
perl compare_version --tag && \
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
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
.Rproj.user
.Rhistory
.RData
renv
check
errorReportSql.txt
.idea
34 changes: 0 additions & 34 deletions .travis.yml

This file was deleted.

22 changes: 15 additions & 7 deletions DESCRIPTION
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@ Type: Package
Title: Population-level estimation method that estimates
incidence rate comparison of exposed/unexposed time within an exposed
cohort
Version: 1.5.0
Date: 2018-11-23
Version: 1.5.1
Date: 2021-29-03
Authors@R: c(
person("Martijn", "Schuemie", , "schuemie@ohdsi.org", role = c("aut", "cre")),
person("Jamie", "Gilbert", role = c("aut", "cre")),
person("Martijn", "Schuemie", , "schuemie@ohdsi.org", role = c("aut")),
person("Patrick", "Ryan", role = c("aut"))
)
Author: Patrick Ryan, Martijn Schuemie
Maintainer: Patrick Ryan <ryan@ohdsi.org>
Author: Patrick Ryan, Martijn Schuemie, James Gilbert
Maintainer: Jamie Gilbert <jpg@azimov.co.uk>
Description: This package provides a method to estimate risk by comparing time
exposed with time unexposed among the exposed cohort.
URL: https://github.com/OHDSI/SelfControlledCohort
Expand All @@ -22,6 +23,13 @@ Imports:
ParallelLogger,
rateratio.test
Suggests:
testthat
withr,
testthat,
knitr,
rmarkdown,
Eunomia,
DiagrammeR,
dplyr
License: Apache License 2.0
RoxygenNote: 6.1.1
RoxygenNote: 7.1.1
VignetteBuilder: knitr
13 changes: 13 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
SelfControlledCohort 1.5.1
==========================

Changes:

- Added support for github actions and removed travis configuration
- Added `computeTarDistribution` flag to `runSelfControlledCohort`, which computes the distribution of exposure time
windows for subjects experiencing the outcome and average absolute time between exposure and outcome.
- Added vignette for usage with some examples

Bug Fixes:
- Fixed issue with DatabaseConnector v 4.0.0 connectionDetails object on osx and linux caused by usage of
`connectionDetails$conn` for storage of a connection
2 changes: 1 addition & 1 deletion R/Analyses.R
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# @file Analyses.R
#
# Copyright 2018 Observational Health Data Sciences and Informatics
# Copyright 2021 Observational Health Data Sciences and Informatics
#
# This file is part of SelfControlledCohort
#
Expand Down
9 changes: 7 additions & 2 deletions R/CreateArgFunctions.R
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
#' @param studyEndDate Date for maximum allowable data for index exposure. Dateformat
#' is 'yyyymmdd'.
#' @param addLengthOfExposureExposed If TRUE, use the duration from drugEraStart -> drugEraEnd
#' aspart of timeAtRisk.
#' as part of timeAtRisk.
#' @param riskWindowStartExposed Integer of days to add to drugEraStart for start oftimeAtRisk
#' (0 to include index date, 1 to start the dayafter).
#' @param riskWindowEndExposed Additional window to add to end of exposure period
Expand All @@ -33,6 +33,10 @@
#' and unexposed.
#' @param washoutPeriod Integer to define required time observed before exposurestart.
#' @param followupPeriod Integer to define required time observed after exposurestart.
#' @param computeTarDistribution If TRUE, computer the distribution of time-at-risk and
#' average absolute time between treatment and outcome. Note,
#' may add significant computation time on some database
#' engines. If set true in one analysis will default to true for all others.
#'
#' @export
createRunSelfControlledCohortArgs <- function(firstExposureOnly = TRUE,
Expand All @@ -49,7 +53,8 @@ createRunSelfControlledCohortArgs <- function(firstExposureOnly = TRUE,
riskWindowStartUnexposed = -30,
hasFullTimeAtRisk = FALSE,
washoutPeriod = 0,
followupPeriod = 0) {
followupPeriod = 0,
computeTarDistribution = FALSE) {
# First: get default values:
analysis <- list()
for (name in names(formals(createRunSelfControlledCohortArgs))) {
Expand Down
Loading

0 comments on commit 159ea96

Please sign in to comment.