Merge branch 'max' into 'master'
[mailman.git] / .gitlab-ci.yml
blob8fb2694c7a72bb8aeeaef99036e12382bfaa8e64
1 # This is core test runner
2 .only-default: &only-default
3   only:
4     - master
5     - merge_requests
6     - tags
8 image: ghcr.io/maxking/mailman-ci-runner:latest
10 variables:
11   POSTGRES_DB: "mailman_test"
12   POSTGRES_USER: "runner"
13   POSTGRES_PASSWORD: "runner"
14   MYSQL_ROOT_PASSWORD: "runner"
15   MYSQL_USER: "runner"
16   MYSQL_USER_PASSWORD: "runner"
17   MYSQL_DATABASE: "test_mailman"
18   LC_ALL: "C.UTF-8"
19   GIT_CEILING_DIRECTORIES: "/builds"
20   HOME: "/builds"
23 qa:
24   <<: *only-default
25   script:
26   - tox -e qa
28 docs:
29   <<: *only-default
30   script:
31   - tox -e docs
33 sqlite-37:
34   <<: *only-default
35   script:
36   - tox -e py37-nocov
38 sqlite-38:
39   <<: *only-default
40   script:
41   - tox -e py38-nocov
43 sqlite-39:
44   <<: *only-default
45   script:
46     - tox -e py39-nocov
48 sqlite-310:
49   <<: *only-default
50   script:
51     - tox -e py310-nocov
53 sqlite-311:
54   <<: *only-default
55   script:
56     - tox -e py311-nocov
59 pgsql-310:
60   <<: *only-default
61   services:
62   - postgres:latest
63   script:
64   - MAILMAN_EXTRA_TESTING_CFG=/home/runner/configs/postgres.cfg tox -e py310-nocov-pg
65   tags:
66   - postgres
68 pgsql-311:
69   <<: *only-default
70   services:
71   - postgres:latest
72   script:
73   - MAILMAN_EXTRA_TESTING_CFG=/home/runner/configs/postgres.cfg tox -e py311-nocov-pg
74   tags:
75   - postgres
77 pgsql-39:
78   <<: *only-default
79   services:
80   - postgres:latest
81   script:
82   - MAILMAN_EXTRA_TESTING_CFG=/home/runner/configs/postgres.cfg tox -e py39-nocov-pg
83   tags:
84   - postgres
86 mysql-311:
87   <<: *only-default
88   services:
89   - mysql:5.6
90   script:
91   - MAILMAN_EXTRA_TESTING_CFG=/home/runner/configs/mysql.cfg tox -e py311-nocov-mysql
92   tags:
93   - mysql
95 mysql-310:
96   <<: *only-default
97   services:
98   - mysql:5.6
99   script:
100   - MAILMAN_EXTRA_TESTING_CFG=/home/runner/configs/mysql.cfg tox -e py310-nocov-mysql
101   tags:
102   - mysql
104 mysql-39:
105   <<: *only-default
106   services:
107   - mysql:5.6
108   script:
109   - MAILMAN_EXTRA_TESTING_CFG=/home/runner/configs/mysql.cfg tox -e py39-nocov-mysql
110   tags:
111   - mysql
113 diffcov:
114   script:
115   - git config --global --add safe.directory "/builds/${CI_PROJECT_NAMESPACE}/mailman"
116   - git config safe.directory
117   - tox -e py37-diffcov
118   only:
119   - merge_requests