Commit graph

29 commits

Author SHA1 Message Date
Tomas Babej
09eadba27c Dockerfile: Be explicit about ncurses usage when building vim
Otherwise the build fails on Alpine 3.22.
2025-06-13 22:25:26 -04:00
Tomas Babej
9c515dbcca Dockerfile: Update defaults 2025-06-13 22:13:27 -04:00
Tomas Babej
613d038ca3 Dockerfile: Use pre 3.0 release for now
Upgrading to 3.0 requires change to the build process.
2025-06-13 21:01:21 -04:00
Tomas Babej
22557e7d42 Dockerfile: Configure cloned folder as safe dir to enable coveralls report 2022-06-28 09:12:37 -04:00
Tomas Babej
ce42474979 Dockerfile: Backport Python detection fix for 3.10 and above 2022-06-28 09:05:32 -04:00
Tomas Babej
cbdf0dc9a9 Dockerfile: Be more explicit enabling python in vim 2022-06-28 08:57:37 -04:00
Tomas Babej
9744bd05f1 tests: Update the test matrix to use latest patch versions of vim
Use the latest patch version for each given minor release.
2022-06-28 01:25:13 -04:00
Tomas Babej
8f298cf0cd Dockerfile: Add a font package to allow gvim to run inside of the container 2022-06-27 18:27:48 -04:00
Tomas Babej
25d47074a5 Dockerfile: Bump alpine version 2021-10-10 11:40:13 -04:00
Tomas Babej
a54dcacc57 Dockerfile: Bump default Python and task versions 2021-10-10 11:20:42 -04:00
Tomas Janousek
b5094a70f2 tests: Update test matrix
There's no 2.5.x branch any more. Change the default to master, i.e. the
latest release, now that the branch actually reflects the release and
no longer includes patches accidentally merged to the wrong branch.

Keep v2.5.1 around just for safety as it probably is the most widely
used release around.

Would be nice if the 2.6.0 branch was named dev or devel and wasn't
about to disappear as soon as 2.6.0 is released... :-/
2021-01-14 15:10:17 -05:00
Tomas Janousek
6c3c299118 tests: Update test matrix
Python 3.5 is EOL since Sep 2020.
Python 3.9 is out since Oct 2020.
taskwarrior 2.5.2 is out since Dec 2020 (released only on GitHub though).

It's a bit stupid to have to update it manually, but until we figure it
out something better...
2020-12-18 17:49:10 -05:00
Tomas Janousek
a9af18203b tests: Fix build of psutil (required by pytest-xdist 2.0)
77e5fdfef9
2020-09-17 22:11:42 -04:00
Tomas Janousek
13ee57540e tests: Refactor Dockerfile to multi-stage (more caching during development)
The previous refactor traded build step caching for smaller image size,
which in turn made fast caching of built images possible, and allowed us
to speed up CI builds. But almost any change in Dockerfile required full
rebuild of everything (vim & taskwarrior), so changes to the Dockerfile
became more painful.

This commit refactors the Dockerfile to use multi-stage builds, which
brings build caching back: vim & taskwarrior are built in separate
stages, which are cached step by step, and then the build artifacts are
copied into the main tests image and runtime dependencies are installed.

There's a catch, of course: --cache-from doesn't work with multi-stage
images unless the experimental BuildKit backend and its inline cache
export are enabled. This requires docker 19.03, which shouldn't be hard
to obtain but isn't installed by default on Travis CI.
2020-08-02 17:24:20 -04:00
Tomas Janousek
bc471ec94a tests: Refactor Dockerfile
* Switch from Fedora to Alpine. This makes it possible to have smaller
  docker images (Alpine is smaller by itself; apk add --virtual makes it
  feasible to correctly remove build dependencies) which will be useful
  for caching the images somewhere instead of building them in CI again
  and again. This is expected to cut the CI test time in half.

* Make versions of python, vim and vimwiki configurable via docker build
  args to enable testing of additional environments. This makes the
  build slower, but we will fix that by caching.

Unfortunate consequence of doing all the installs in one RUN step is
that docker build doesn't cache the intermediate steps and therefore
modifying the Dockerfile and testing those modifications locally is now
slower than it used to be. This can likely be improved by using
multi-stage builds (and using BuildKit and its inline cache export to
not break the caching we're about to add a few commits later).
2020-08-02 17:24:20 -04:00
Tomas Janousek
15ce16f24c Revert "tests: Use explicit coverage tracking"
This reverts commit b00e886142.

This fixes reporting of coverage by the few tests that run outside of
vim.

The commit that is being reverted doesn't explain why it was committed,
and the git history suggests it was reverted once and then reintroduced
later again. None of those commits explains the why. I can only guess
that the last time this was committed was an attempt to fix coverage
reporting to outside of docker, which it didn't, and additionally it
made coverage gathering less robust (see previous commit). So this is
yet another fix for the inaccurate coverage reporting.

Or maybe it was because `--cov` without `=taskwiki` an argument reports
coverage for tests instead of taskwiki code? Nevermind, I guess, now it
works well.
2020-07-08 21:36:52 -04:00
Tomas Janousek
14c0268438 tests: Upgrade vimrunner and drop the now unnecessary hacks
This makes the tests less brittle and potentially also faster.
2020-07-02 09:51:56 -04:00
Tomas Janousek
7f47669e0c tests: Run tests in parallel using pytest-xdist 2020-07-02 09:51:56 -04:00
Tomas Janousek
c0285cceef tests: Move CMD from Dockerfile to docker-compose.yml
This makes it easier to change the command (e.g. to add `-s`) as we
don't need to tell docker-compose to rebuild the image and container.
2020-07-02 09:51:56 -04:00
Tomas Janousek
21889a2be2 tests: Include xvfb into the Docker image 2020-07-02 09:51:56 -04:00
Tomas Babej
0177912443 Remove extra package 2018-12-31 20:13:21 -05:00
Tomas Babej
b00e886142
tests: Use explicit coverage tracking 2018-07-31 03:46:58 -04:00
Tomas Babej
a331fd0f3b
docker: Accept TASK_VERSION argument 2018-07-31 02:39:53 -04:00
Tomas Babej
d7fd4177a6
travis: test 2018-07-31 02:20:19 -04:00
Tomas Babej
846b71bc26
docker: Install mnemosyne to pull in graphics deps 2018-07-31 01:43:52 -04:00
Tomas Babej
b5918e14f5
Dockerfile: Add procps-ng 2018-07-30 23:52:02 -04:00
Tomas Babej
bda5df48a3
tests: Use pytest-cov 2018-07-30 23:51:45 -04:00
Tomas Babej
49e87d1d68
meta: Add tasklib into requirements 2018-07-30 22:49:29 -04:00
Tomas Babej
f7ed50f632
travis: Add Dockerfile 2018-07-30 22:44:05 -04:00