New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RelEng: Refactor travis configuration #439

Open
hairmare opened this Issue Feb 5, 2018 · 6 comments

Comments

Projects
None yet
2 participants
@hairmare
Copy link
Member

hairmare commented Feb 5, 2018

Travis is currently using dist: trusty and I'd like to switch to services: docker. docker is a good match for our current workload and makes extending the CI pipeline easier. Once done I hope for this to help with #15 and my translation integration efforts in #301. It will also open it up for things like linting liquidsoap scripts.
The end goal of my travis refactor is to use docker support so we can test on different distributions. I'd also like to take care of smoke-testing the install script somehow. This seems easier if we can control our own docker containers vs. using single container we are currently using. I plan on keeping the changes to things that aren't .travis.yml or .travis/ as minimal as possible by relying on official library or upstream images everywhere.

  • Refactor current pipeline to service: docker
  • Fully migrate services to our own services
  • Update PHP support matrix (dump oldies)
  • Update PHP support matrix (add 7.2)
  • Update Python support matrix (update py2, add allowed to fail py3)
  • Add installer smoke screen tests

I might opt into the build stages beta on travis if performance issues arise.

@Robbt

This comment has been minimized.

Copy link
Member

Robbt commented Feb 6, 2018

This sounds good to me. I have little experience in working with Travis and Docker and trust you to get it setup. Are we using a hosted travis service right now and will this change mean we are running our own infrastructure. If so will there be a hosting cost etc ? Just curious so I can get a better grasp on how this is all going to be setup.

@hairmare

This comment has been minimized.

Copy link
Member

hairmare commented Feb 6, 2018

We'll be using the same free for opensource travis service as before. This would mainly change that we use a full virtual machine with it's own docker server rather than using a provided container. Starting the first build might be a bit slower on the new platform but the added flexibility should outweigh this.

There won't be any costs for this as it's really only a configuration change. I plan on taking care of the low hanging fruit (like php python version bumping first) so the actual change to docker will be done once everything works with newer php and py3.

As I have already run into some php 7.2 compat issues regarding deprecation warnings it might take a bit to finalize this.

@hairmare

This comment has been minimized.

Copy link
Member

hairmare commented Feb 13, 2018

ZF1 isn't compatible with PHP 7.2, I'm investigating if there are any serious forks that might make sense for us. Magento has https://github.com/magento/zf1 but their might be others that are also well maintained and could help the PHP MVC stay viable a bit longer.

@Robbt

This comment has been minimized.

Copy link
Member

Robbt commented Dec 8, 2018

Just a quick question, is there a login for our free travis setup that is needed to make some of these backend changes etc?

@hairmare

This comment has been minimized.

Copy link
Member

hairmare commented Dec 8, 2018

Everything is in .travis.yml.

@Robbt

This comment has been minimized.

Copy link
Member

Robbt commented Dec 8, 2018

Cool thanks, I was thinking of lending a hand on some of this stuff but I still haven't read the docs on how travis works exactly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment