Skip to content

Commit 1488884

Browse files
authored
Merge pull request #1349 from cmu-delphi/release/delphi-epidata-4.1.14
Release Delphi Epidata 4.1.14
2 parents 6da4b20 + 0424631 commit 1488884

File tree

29 files changed

+287
-181
lines changed

29 files changed

+287
-181
lines changed

.bumpversion.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[bumpversion]
2-
current_version = 4.1.13
2+
current_version = 4.1.14
33
commit = False
44
tag = False
55

.env.example

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,6 @@ FLASK_SECRET=abc
44
#API_KEY_REQUIRED_STARTING_AT=2021-07-30
55
API_KEY_ADMIN_PASSWORD=abc
66
API_KEY_REGISTER_WEBHOOK_TOKEN=abc
7+
8+
# Sentry
9+
# If setting a Sentry DSN, note that the URL should NOT be quoted!

.github/workflows/performance-tests-one-time.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
name: One-time performance testing - 26th October 2023
1+
name: One-time performance testing - 8th November 2023
22

3-
# Run "At every 30th minute on day-of-month 26 in October"
3+
# Run "At every 30th minute on day-of-month 8 in November"
44
on:
55
schedule:
6-
- cron: '*/30 * 26 10 *'
6+
- cron: '*/30 * 8 11 *'
77

88
# Add some extra perms to comment on a PR
99
permissions:
@@ -65,6 +65,8 @@ jobs:
6565
path: delphi-admin
6666
- name: Build & run Locust
6767
continue-on-error: true # sometimes ~2-5 queries fail, we shouldn't end the run if that's the case
68+
env:
69+
PERFTEST_API_KEY: ${{secrets.PERFTEST_API_KEY}}
6870
run: |
6971
cd delphi-admin/load-testing/locust
7072
docker build -t locust .

.github/workflows/performance-tests.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@ jobs:
7373
path: delphi-admin
7474
- name: Build & run Locust
7575
continue-on-error: true # sometimes ~2-5 queries fail, we shouldn't end the run if that's the case
76+
env:
77+
PERFTEST_API_KEY: ${{secrets.PERFTEST_API_KEY}}
7678
run: |
7779
cd delphi-admin/load-testing/locust
7880
docker build -t locust .

dev/local/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ LOG_REDIS:=delphi_redis_instance_$(NOW).log
7777
WEB_CONTAINER_ID:=$(shell docker ps -q --filter 'name=delphi_web_epidata')
7878
DATABASE_CONTAINER_ID:=$(shell docker ps -q --filter 'name=delphi_database_epidata')
7979
REDIS_CONTAINER_ID:=$(shell docker ps -q --filter 'name=delphi_redis')
80+
ENV_FILE:=repos/delphi/delphi-epidata/.env
8081

8182
M1=
8283
ifeq ($(shell uname -smp), Darwin arm64 arm)
@@ -104,8 +105,10 @@ web:
104105
@# Run the web server
105106
@# MODULE_NAME specifies the location of the `app` variable, the actual WSGI application object to run.
106107
@# see https://github.com/tiangolo/meinheld-gunicorn-docker#module_name
108+
@touch $(ENV_FILE)
107109
@docker run --rm -p 127.0.0.1:10080:80 \
108110
$(M1) \
111+
--env-file $(ENV_FILE) \
109112
--env "MODULE_NAME=delphi.epidata.server.main" \
110113
--env "SQLALCHEMY_DATABASE_URI=$(sqlalchemy_uri)" \
111114
--env "FLASK_SECRET=abc" --env "FLASK_PREFIX=/epidata" --env "LOG_DEBUG" \

dev/local/setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[metadata]
22
name = Delphi Development
3-
version = 4.1.13
3+
version = 4.1.14
44

55
[options]
66
packages =

devops/Dockerfile

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ FROM tiangolo/meinheld-gunicorn:python3.8
77
LABEL org.opencontainers.image.source=https://github.com/cmu-delphi/delphi-epidata
88

99
COPY ./devops/gunicorn_conf.py /app
10-
COPY ./devops/start_wrapper.sh /
1110
RUN mkdir -p /app/delphi/epidata
1211
COPY ./src/server /app/delphi/epidata/server
1312
COPY ./src/common /app/delphi/epidata/common
@@ -18,7 +17,6 @@ COPY requirements.api.txt /app/requirements_also.txt
1817
RUN ln -s -f /usr/share/zoneinfo/America/New_York /etc/localtime \
1918
&& rm -rf /app/delphi/epidata/__pycache__ \
2019
&& chmod -R o+r /app/delphi/epidata \
21-
&& chmod 755 /start_wrapper.sh \
2220
&& pip install --no-cache-dir -r /tmp/requirements.txt -r requirements_also.txt
2321
# the file /tmp/requirements.txt is created in the parent docker definition. (see:
2422
# https://github.com/tiangolo/meinheld-gunicorn-docker/blob/master/docker-images/python3.8.dockerfile#L5 )
@@ -28,4 +26,4 @@ RUN ln -s -f /usr/share/zoneinfo/America/New_York /etc/localtime \
2826
ENV PYTHONUNBUFFERED 1
2927

3028
ENTRYPOINT [ "/entrypoint.sh" ]
31-
CMD [ "/start_wrapper.sh" ]
29+
CMD [ "/start.sh" ]

devops/start_wrapper.sh

Lines changed: 0 additions & 10 deletions
This file was deleted.

docs/epidata_development.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -388,3 +388,13 @@ The command above maps two local directories into the container:
388388
- `/repos/delphi/delphi-epidata/src`: Just the source code, which forms the
389389
container's `delphi.epidata` python package.
390390

391+
## instrumentation with Sentry
392+
393+
Delphi uses [Sentry](https://sentry.io/welcome/) in production for debugging, APM, and other observability purposes. You can instrument your local environment if you want to take advantage of Sentry's features during the development process. In most cases this option is available to internal Delphi team members only.
394+
395+
The bare minimum to set up instrumentation is to supply the DSN for the [epidata-api](https://cmu-delphi.sentry.io/projects/epidata-api/?project=4506123377442816) Sentry project to the application environment.
396+
397+
- You can get the DSN from the Sentry [project's keys config](https://cmu-delphi.sentry.io/settings/projects/epidata-api/keys/), or by asking someone in the prodsys, DevOps, or sysadmin space.
398+
- Once you have the DSN, add it to your local `.env` file and rebuild your containers to start sending telemetry to Sentry.
399+
400+
Additional internal documentation for Sentry can be found [here](https://bookstack.delphi.cmu.edu/books/systems-handbook/page/sentry).

docs/symptom-survey/publications.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,17 @@ Pandemic"](https://www.pnas.org/topic/548) in *PNAS*:
2626

2727
Research publications using the survey data include:
2828

29+
- W. Dempsey (2023). [Addressing selection bias and measurement error in
30+
COVID-19 case count data using auxiliary information](https://doi.org/10.1214/23-AOAS1744).
31+
*Annals of Applied Statistics* 17 (4), 2903-2923.
2932
- Ma, M.Z., Chen, S.X. (2023). [Beyond the surface: accounting for confounders
3033
in understanding the link between collectivism and COVID-19 pandemic in the
3134
United States](https://doi.org/10.1186/s12889-023-16384-2). *BMC Public
3235
Health* 23, 1513.
3336
- C.K. Ettman, E. Badillo Goicoechea, and E.A. Stuart (2023). [Evolution of
3437
depression and anxiety over the COVID-19 pandemic and across demographic
3538
groups in a large sample of U.S. adults](https://doi.org/10.1016/j.focus.2023.100140).
36-
*AJPM Focus*.
39+
*AJPM Focus* 2 (4), 100140.
3740
- M. Rubinstein, Z. Branson, and E.H. Kennedy (2023). [Heterogeneous
3841
interventional effects with multiple mediators: Semiparametric and
3942
nonparametric approaches](https://doi.org/10.1515/jci-2022-0070). *Journal of

0 commit comments

Comments
 (0)