This is a list of stages that I look to use in my integration pipelines for any project. This is a starting point for me, to remind me when starting a new project as to what to look to include. They are in rough order, starting from ones that are likely to be caught first to ones that are to be more complex to catch.
As is always the way with technology these stages do not have to be used exactly as directed here. They are a starting point so as not to overlook anything when starting a new project, and save me from doing a load of digging through old repositories.
I also find that considering these as early as possible means that you will have a better end product. So it's best to ensure you try to include as many as possible, but also not to put too much effort in to them.
This is still a work in progress and therefore incomplete.