Package testing with encrypted data; any free services that work like Travis-CI?

Long topic line summarizes everything but here are details.

To make a long story short, I need a way to test SeisIO.jl that supports encrypted test files. Travis-CI does this, but also started charging $70/month in June. SeisIO supports several data formats with redistribution restrictions, so I need some data to be accessible only during testing. Travis-CI simply used an encrypted tarball. That worked.

Are there any reliable CI services that are free, support testing in Linux environments, and have well-documented ways to handle such private data? Is there a different preferred method for testing Julia packages in a clean environment? I’m not even sure where to find information on what everyone is using for their package tests these days – it’s been 2 years since I had to make such fundamental changes to how I test, so I’m a bit behind, as you can imagine.

Thanks in advance.

Most packages have moved to GitHub Actions, which offers free cross-platform testing. The easiest way to set it up may be creating a mock package for SeisIO using PkgTemplates.jl with the GitHubActions CI settings, then copying CI.yml from the mock directory into your package directory. You should be able to add your encryption key as an encrypted secret that can be accessed as an environment variable within the CI job.

2 Likes