PHP using Travis’s built-in mechanism that downloads distributions-specific tarballs (PHP 7.1 is not compatible with focal),
Composer using itself,
Python using pyenv (quite slow),
Python libraries using pip,
Node using nvm,
jq using apt,
PHP dependencies using Composer,
client-side dependencies using npm.
Switching to Nix will allow us to get rid of all except the last two methods and achieve fully reproducible environment across both CI and developers’ machines.
Previously we were installing
Switching to Nix will allow us to get rid of all except the last two methods and achieve fully reproducible environment across both CI and developers’ machines.
The travis config is based on https://github.com/cachix/travis-ci-example.
Also allows us to switch distribution to focal.