opensafely-core / opensafely-core/opencodelists

Consider implementing a better way of testing deployment changes with Dokku

Open
#2,483 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
60
Forks
16
Avg merge
4d 12h
Merged PRs (30d)
17

Description

Why are we doing this?

While we have a reasonable setup for local development and running the OpenCodelists server, this does not entirely replicate how it runs in the production.

We don't have a good way of testing out changes that affect the Dokku deployment.

In certain cases, there may be changes that:

  • either behave differently in the Dokku deployment compared with a setup without Dokku
  • are not testable without having Dokku running (for example, changes to health checks)

How will we know when it's done?

When we have a working easy-to-reproduce setup that incorporates the OpenCodelists server running within Dokku, where we can rebuild the production Docker image, and see the deployment update.

What are we doing?

Possibly adding configuration that allows for local testing with Dokku?


Defining delivery tasks guidance

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the current production Docker image and Dokku deployment setup. Try to reproduce the OpenCodelists server deployment locally, including rebuilding the image and observing deployment updates. Done means there is an easy-to-reproduce setup that can exercise deployment-specific behavior such as health checks.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, python
Domain
devops, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.