Manual post-release steps

How do you handle manual post-release steps?

Most releases can be automated, but sometimes you need some manual steps.

How do you handle them in the context of a django project?

I never have manual post-release steps. What kind of things are you doing manually?

The two cases that I’ve had manual post-release steps are DB schema removals and long running processes data update processes across a series of databases.

For DB schema removals, I haven’t found a great solution yet.

For the long data update processes, I was able to automate them by creating a system that executes two functions, one to fetch and chunk the dataset that needs to be updated and another that updates the chunk. It’s not perfect, but it has made some data operations work easier.

What needs to done after release … Maybe things like this:

  • inform a stackholder via email,
  • add something to the service monitoring tool
  • Click a button in a third-party tool.

Of course you could automate everything, but sometimes a pragmatic solution is faster.

A simple checklist which a human needs to go through would be what I am looking for.

Ah you mean like this.

I love a good checklist (check out The Checklist Manifesto). I would normally write this in my ticket tracker, e.g. github allows using [ ] to create checkbox lists in an issue description.

Alternatively you could have a checklist model that appears in e.g. your admin and populate it with a data migration, so the tasks would only appear when the necessary code is live :thinking:

If you mean e.g. removing a column after deleting it from the model, you can use create two migrations with SeparateDatabaseAndState, the first which removes from state and the second which removes from the database. Then deploy the first before merging and deploying the second.

Thank you for the link to “Checklist Manifesto”. I already hear from this book.

And that’s exactly what I would like to have.

Some text in a file, which are part of the git repo and part of the pull request review.

Than once in Prod, you should be able to check each item off one by one.

Not difficult to implement. But maybe something like this already exists …