Daily routine with continuous integration


This post was originally published here.

I chuckled quite a bit after reading the Top 5 Signs of Discontinuous Integration, though I think “dysfunctional integration” is a better word.  So what’s my routine?

Start of the day

  1. Check if build is green
    • Get latest if it is
      • Fix build if it isn’t</ol>

        Coding

      1. Code/write tests
        • Run local build, make sure code compiles and tests pass
          • Get latest
            • Run local build again
              • Check in, with decent comments
                • Wait for CI build to finish
                  • If build is red, drop everything and fix
                    • Otherwise, go back to step 1</ol> I’ll get latest several times per day.  The more often I integrate (the “continuous” part), the easier it is do so.  If you’re scared to get latest version when the build is green, you probably have some dysfunctional integration issues.  If you don’t know what “the build is green” means, well, that’s a whole other ball of wax.
The Legacy Code Dilemma and compiler warnings