separate publish steps from content upgrade