TeaCI / tea-ci

Manage issues for tea-ci.org
10 stars 1 forks source link

Suggestion: snapshot repositories #4

Open parched opened 8 years ago

parched commented 8 years ago

A useful feature for stable development would be having snapshot repositories like https://hub.docker.com/r/pritunl/archlinux/

A few times at LibrePIlot we have been caught out by updated mingw packages breaking the build, if there were snapshot repositories we could fix issues first then upgrade to the latest.

ghost commented 8 years ago

Hi @parched, thanks a lot for the suggestion.

This is what I was thinking of as well. I think as a short term solution, you can try to fork https://github.com/TeaCI/msys32-docker and build a snapshot image by yourself, but you are also welcome to join us to maintain msys/mingw images for all the users. (See https://tea-ci.org/TeaCI/msys32-docker and https://tea-ci.org/TeaCI/mingw32-docker)

As a long term solution, I was thinking about the daily/stable image idea: Tea CI (drone) supports matrix builds: https://docs.tea-ci.org/usage/matrix/ If we maintain two repository, one is stable ( http://mirrors.tea-ci.org/msys2/ ), one is daily (http://mirrors.tea-ci.org/[todo:daily]/msys2/ ), by comparing the build result between stable repo and daily repo in a matrix build, we will be able to catch regression of daily repo while keep the CI environment useful with stable repo. Assume we update the stable repo bi-weekly, then if something wrong happen in daily repo, we will have two weeks of time to fix the regression before next upgrade of stable repo. Do you think that could solve your problem?

parched commented 8 years ago

Hi @fracting, I really think this will help. It is becoming a real maintenance burden for us with the moving target of MSYS2. You do not need to create separate repositories in that sense just do like

  1. Sync mirror with main MSYS2 but only add new/modify files (don't delete old pkg.tar.xz)
  2. Make a copy of the updated repo db with the date postfix, like mingw64-2016-08-21.db. Then we can change to [mingw64-2016-08-21] instead of [mingw64] in pacman.conf