Integrating Aseprite with Travis CI

I am working on a free software pixelart game (Pixel Wheels, check it out!). Of course, I use Aseprite to create the game assets. Pixel Wheels build system takes care of creating the final assets from Aseprite .ase files, so that I don’t have to commit the resulting .png to the source tree. This means building the game requires Aseprite.

I would like to setup Travis CI for continuous integration, but as far as I know Aseprite is not available on Travis. I can see a few options to workaround this:

  • Add a script to build Aseprite as part of Travis CI build steps of my game. This means every build of Pixel Wheels would start by building Aseprite. Probably slow, but should work. Does Aseprite license allows this?

  • Run Aseprite on a server I own and implement a way to provide the assets to Travis. The server would provide an http endpoint to download the assets produced by a build at a given commit id. The Travis CI build steps would download the generated assets from that server. Cumbersome, but doable. Same question here: would it be legal?

  • Include the generated assets in the source tree, or in a Git submodule. Would work, but I dislike having generated files committed in a source tree and would prefer to avoid that approach.

The ideal solution would be a build option to create a headless version of Aseprite, and a license exception to allow shipping binaries of this version. This version would not let users create images with it, but it would allow everybody to compile assets using Aseprite (which means users of my game could also compile it!)

1 Like

Hi @agateau, I guess this is related to #1279. We can work on something, I’d love to have an easily distributable CLI-only version of Aseprite (even easier to compile because Skia shouldn’t needed in that case).

At the moment you might try to integrate Aseprite compilation in your Travis script. As Aseprite binaries will not be distributed and only used to complete your build toolchain, I don’t see a problem doing so.

Sounds good! Great to hear you are happy with a distributable, CLI-only version of Aseprite. Will look at making Travis build Aseprite in the mean time.

1 Like

I’ve just pushed a change to disable the UI and compile a CLI-only version of Aseprite (you can use cmake -DENABLE_UI=OFF).

Great, thanks for this quick fix! Will give it a try when I am done with the current release.