zsh-users
 help / color / mirror / code / Atom feed
From: Julien Nicoulaud <julien.nicoulaud@gmail.com>
To: "Nikolay Aleksandrovich Pavlov (ZyX)" <kp-pav@yandex.ru>
Cc: Mailing-list zsh-users <zsh-users@zsh.org>
Subject: Re: Zsh docker images
Date: Tue, 15 Aug 2017 12:53:09 +0200	[thread overview]
Message-ID: <CA+mcLN4nw=N8n+kgfAZ1tndmELdYywOFxzJADK+5BpFGLBPDmA@mail.gmail.com> (raw)
In-Reply-To: <191781502787229@web22g.yandex.ru>

[-- Attachment #1: Type: text/plain, Size: 4544 bytes --]

Thanks for the tips.

The solution you describe requires way more setup and maintainance than
what we have currently, so I prefer to keep things simple.
zsh-syntax-highlighting is a low activity project, we just need to make
sure tests run in acceptable time, and there is not too much adherence to
Travis-CI.

2017-08-15 10:53 GMT+02:00 Nikolay Aleksandrovich Pavlov (ZyX) <
kp-pav@yandex.ru>:

>
>
> 15.08.2017, 02:19, "Julien Nicoulaud" <julien.nicoulaud@gmail.com>:
> > 2017-08-15 0:41 GMT+02:00 Nikolay Aleksandrovich Pavlov (ZyX) <
> > kp-pav@yandex.ru>:
> >
> >>  15.08.2017, 01:12, "Julien Nicoulaud" <julien.nicoulaud@gmail.com>:
> >>  > Hi all,
> >>  >
> >>  > I just wanted to advertise a small project that could be useful to
> other
> >>  > zsh users: https://github.com/zsh-users/zsh-docker
> >>  >
> >>  > This builds images of many versions of zsh (including a daily build
> of
> >>  > zsh's master branch) and deploys them to Docker Hub (
> >>  > https://hub.docker.com/u/zshusers).
> >>  >
> >>  > So you can do, for instance:
> >>  >
> >>  > $ docker run -it zshusers/zsh-5.3.1
> >>  >
> >>  > -> will launch an interactive session of zsh 5.3.1
> >>  >
> >>  > We use it to automatically test zsh-syntax-highlighting on all
> supported
> >>  > versions of zsh.
> >>
> >>  What you could just as well do without docker which would make travis
> run
> >>  faster due to not needed `sudo: required` and ability to setup travis
> >>  cache. For testing something locally your docker images make more sense
> >>  because they are easier to use then compiling that big amount of zsh
> >>  versions.
> >
> > You mean, instead of using Docker, building the right zsh version on each
> > job and use Travis cache ? I am not sure that would work as we would have
> > to "make install" zsh anyway, so we would need sudo...
>
> 1. No, you may just build it with a bot and save an archive.
> https://github.com/powerline/bot-ci works like this for years, though I
> only have one zsh version. Binaries are in https://github.com/powerline/
> deps.
> 2. You need absolutely no `sudo` for `make install`. Just do user-local
> installation, something like ~/.local-zsh-$ZSH_VERSION. The *build bot* I
> referenced above is using container-based builds without sudo, not to
> mention powerline itself which it builds dependencies for. Works fine for
> CPython (some variant not provided by travis), zsh, zpython, tmux, fish, rc
> shell, libvterm, Vim, various Vim plugins and Python packages. This is only
> a matter of what you pass as a prefix.
> 3. Actually it is possible to build in the job itself and use travis
> cache, Neovim works this way. I found it more complicated to setup and it
> would make build times unpredictable for powerline since I do not hardcode
> versions like Neovim does.
>
> >
> > The Docker setup makes things very simple on zsh-syntax-highlighting
> side,
> > it's only one line (https://github.com/zsh-users/
> > zsh-syntax-highlighting/blob/master/.travis.yml#L30), so it stays clean
> and
> > it's easy to use on other projects as well.
> >
> >>  Also why you have no builds for PRs
> >
> > All those PRs were submitted before we setup Travis-CI, I'm not sure if
> we
> > can trigger builds, maybe if contributors rebase their branches ?
> >
> >>  and why you don’t merge those 24 jobs into something like 7 (4.3*,
> 5.0*,
> >>  5.1*, 5.2*, 5.3*, 5.4*, master)? Less then twenty seconds to run tests
> in a
> >>  single job, lots of time to initialize VMs and there is nothing which
> may
> >>  prevent you from consequently running two docker commands in one job,
> or
> >>  using two zsh versions via other means.
> >
> > Yeah sure, it was just easier to setup and to get a dashboard with every
> > version. We want to make it easy for contributors what their pull request
> > broke. If we start grouping jobs, log files will be harder to analyse.
> >
> > Currently build time is 5/6 minutes, so I don't see it as a big issue.
>
> Travis has folds, so you may create a fold for each version and print a
> summary of “what failed” below for contributors to know what to unfold. (Of
> course, this works in web interface only.) See https://github.com/ZyX-I/
> neovim/blob/663ca27d3ac9567bb82fc66141aae67bd80190d2/ci/common/suite.sh
> for an example, though I must say I have not set up `set [+-]x` well, so
> some trace lines appear outside folds.
>
> >
> >>  >
> >>  > Cheers,
> >>  > Julien
>

      reply	other threads:[~2017-08-15 10:53 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-14 22:09 Julien Nicoulaud
2017-08-14 22:41 ` Nikolay Aleksandrovich Pavlov (ZyX)
2017-08-14 23:16   ` Julien Nicoulaud
2017-08-15  8:53     ` Nikolay Aleksandrovich Pavlov (ZyX)
2017-08-15 10:53       ` Julien Nicoulaud [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CA+mcLN4nw=N8n+kgfAZ1tndmELdYywOFxzJADK+5BpFGLBPDmA@mail.gmail.com' \
    --to=julien.nicoulaud@gmail.com \
    --cc=kp-pav@yandex.ru \
    --cc=zsh-users@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).