Can I use my build workflow with Continua CI?

Hi, everyone,

I’m the guy who’s responsible for the popular Vim builds on Windows. Now I’m still handling it manually, using my own batch file which should do the following things:

  1. Grab the current Vim source code from the repositories (soon: BitBucket or GitHub).
  2. Add a couple of changes (currently, only one icon file has changed locally).
  3. Clean up the output directories so the linker won’t break.
  4. Set the environment to x86.
  5. Make Vim and GVim with certain parameters, linked to
    • my x86 ActivePerl installation (kept up2date manually),
    • my x86 Lua installation (kept up2date manually),
    • my x86 Tcl installation (kept up2date manually),
    • my x86 Tcl installation (kept up2date manually),
    • my x86 Ruby installation (kept up2date manually),
    • my x86 Python2 installation (kept up2date manually),
    • my x86 Python3 installation (kept up2date manually).
  6. Repeat this for x64.
  7. Remove some files and create .7z archives for x86 and x64.

After all steps have been completed, I need to upload the /x86 and /x64 folders and the two .7z files to my server.
Can Continua CI do all that? (In other words: Can I just install some libraries on Continua and upload my batch file and it works?)

I haven’t used a CI yet but I’d like to. My internet connection makes it boring to keep the builds up to date.

Thanks!

Hi Blue Stone,

“Can Continua CI do all that?”

The simple answer is yes.

The longer is answer is what follows. To make things easier in the transition you could simply have Continua run your batch files. Continua handles the detecting of changes in a remote repository and updating its copy automatically. You can also setup automatic builds based on pull requests and the like to validate that they build.

The output directories are always clean as new workspaces are created on disk for each build. Also you can make sure any libraries are accessible either globally to the machine doing the build, or locally in the workspace as you see fit. Building both x86 and x64 in this way works fine.

Continua has actions to copy\delete\move files, so cleaning up the directory which contains the installation is not that hard to achieve. Once the zip is performed, make sure to list the zips as artifacts so that they are kept for that build.

For the uploading to the server you will require a separate tool which can be run from the command line to perform this task. Continua CI does not contain this as a feature.

So in summary I would start with a simple configuration which has links to the repositories in question. Then getting the script you have currently working in a stage would be the next thing to look at. The rest should just flow from there.