From 4b49c9a9320325b32a6e8e97b370e34680868693 Mon Sep 17 00:00:00 2001 From: Marie Backman Date: Mon, 10 Jun 2024 08:38:37 -0400 Subject: [PATCH 1/4] add GitHub action for unit tests --- .github/workflows/unittest.yml | 53 ++++++++++++++++++++++++++++++ config/docker-compose.envlocal.yml | 2 -- 2 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/unittest.yml diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml new file mode 100644 index 0000000..3d55edc --- /dev/null +++ b/.github/workflows/unittest.yml @@ -0,0 +1,53 @@ +name: unit-test + +on: + workflow_dispatch: + pull_request: + push: + branches: main + tags: ['v*'] + +jobs: + linux: + runs-on: ubuntu-latest + defaults: + run: + shell: bash -l {0} + steps: + - uses: actions/checkout@v3 + - uses: conda-incubator/setup-miniconda@v2 + with: + auto-update-conda: true + channels: conda-forge,defaults + mamba-version: "*" + environment-file: environment.yml + cache-environment-key: ${{ runner.os }}-env-${{ hashFiles('**/environment.yml') }} + cache-downloads-key: ${{ runner.os }}-downloads-${{ hashFiles('**/environment.yml') }} + - name: Start docker containers + run: | + cp ./config/docker-compose.envlocal.yml docker-compose.yml + docker compose up --build + env: + DATABASE_NAME: livedatadb + DATABASE_USER: livedatauser + DATABASE_PASS: livedatapass + DATABASE_HOST: db + DATABASE_PORT: 5432 + LIVE_PLOT_SECRET_KEY: "live_data_server_47352" + DJANGO_SUPERUSER_USERNAME: ldsuser + DJANGO_SUPERUSER_PASSWORD: ldspass + - name: Sleep, wait for containers to start up + run: sleep 20 + - name: Run unit tests + run: | + echo "running unit tests" + export DJANGO_SUPERUSER_USERNAME=ldsuser DJANGO_SUPERUSER_PASSWORD=ldspass + python -m pytest --cov=src --cov-report=xml --cov-report=term-missing tests/ + env: + LIVE_PLOT_SECRET_KEY: "live_data_server_47352" + DJANGO_SUPERUSER_USERNAME: ldsuser + DJANGO_SUPERUSER_PASSWORD: ldspass +# - name: upload coverage to codecov +# uses: codecov/codecov-action@v4 +# with: +# token: ${{ secrets.CODECOV_TOKEN }} diff --git a/config/docker-compose.envlocal.yml b/config/docker-compose.envlocal.yml index 038df94..049cb54 100644 --- a/config/docker-compose.envlocal.yml +++ b/config/docker-compose.envlocal.yml @@ -1,5 +1,3 @@ -version: '3.8' - services: nginx: From 40a7acd5f83e81894985e06c3274c4030fe185b0 Mon Sep 17 00:00:00 2001 From: Marie Backman Date: Mon, 10 Jun 2024 08:48:32 -0400 Subject: [PATCH 2/4] start docker containers in detached mode --- .github/workflows/unittest.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml index 3d55edc..a9cc7fc 100644 --- a/.github/workflows/unittest.yml +++ b/.github/workflows/unittest.yml @@ -26,7 +26,7 @@ jobs: - name: Start docker containers run: | cp ./config/docker-compose.envlocal.yml docker-compose.yml - docker compose up --build + docker compose up --build -d env: DATABASE_NAME: livedatadb DATABASE_USER: livedatauser From b5cbb3513747a3cf1f0448af7a6ef0e2eac93225 Mon Sep 17 00:00:00 2001 From: Marie Backman Date: Mon, 10 Jun 2024 09:15:19 -0400 Subject: [PATCH 3/4] correct environment variables --- .github/workflows/unittest.yml | 34 ++++++++++++---------------------- 1 file changed, 12 insertions(+), 22 deletions(-) diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml index a9cc7fc..415f764 100644 --- a/.github/workflows/unittest.yml +++ b/.github/workflows/unittest.yml @@ -13,10 +13,20 @@ jobs: defaults: run: shell: bash -l {0} + env: + DATABASE_NAME: livedatadb + DATABASE_USER: livedatauser + DATABASE_PASS: livedatapass + DATABASE_HOST: db + DATABASE_PORT: 5432 + LIVE_PLOT_SECRET_KEY: "1234_live_data_server" + DJANGO_SUPERUSER_USERNAME: livedatauser + DJANGO_SUPERUSER_PASSWORD: livedatapass steps: - uses: actions/checkout@v3 - uses: conda-incubator/setup-miniconda@v2 with: + miniconda-version: "latest" auto-update-conda: true channels: conda-forge,defaults mamba-version: "*" @@ -27,27 +37,7 @@ jobs: run: | cp ./config/docker-compose.envlocal.yml docker-compose.yml docker compose up --build -d - env: - DATABASE_NAME: livedatadb - DATABASE_USER: livedatauser - DATABASE_PASS: livedatapass - DATABASE_HOST: db - DATABASE_PORT: 5432 - LIVE_PLOT_SECRET_KEY: "live_data_server_47352" - DJANGO_SUPERUSER_USERNAME: ldsuser - DJANGO_SUPERUSER_PASSWORD: ldspass - name: Sleep, wait for containers to start up - run: sleep 20 + run: sleep 30 - name: Run unit tests - run: | - echo "running unit tests" - export DJANGO_SUPERUSER_USERNAME=ldsuser DJANGO_SUPERUSER_PASSWORD=ldspass - python -m pytest --cov=src --cov-report=xml --cov-report=term-missing tests/ - env: - LIVE_PLOT_SECRET_KEY: "live_data_server_47352" - DJANGO_SUPERUSER_USERNAME: ldsuser - DJANGO_SUPERUSER_PASSWORD: ldspass -# - name: upload coverage to codecov -# uses: codecov/codecov-action@v4 -# with: -# token: ${{ secrets.CODECOV_TOKEN }} + run: python -m pytest tests/ From 1fa4fd2f6ccba9048727506e864f61741e9eeff4 Mon Sep 17 00:00:00 2001 From: Marie Backman Date: Mon, 10 Jun 2024 09:23:32 -0400 Subject: [PATCH 4/4] remove unnecessary miniconda command --- .github/workflows/unittest.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml index 415f764..99edace 100644 --- a/.github/workflows/unittest.yml +++ b/.github/workflows/unittest.yml @@ -26,7 +26,6 @@ jobs: - uses: actions/checkout@v3 - uses: conda-incubator/setup-miniconda@v2 with: - miniconda-version: "latest" auto-update-conda: true channels: conda-forge,defaults mamba-version: "*"