Merge branch 'ci' into 'master'
[mailman-postorious.git] / .gitlab-ci.yml
blob29edc5824a85e8a2584f686621376b69105e00bc
1 ---
2 image: ghcr.io/maxking/mailman-ci-runner
4 include:
5   - template: 'Workflows/MergeRequest-Pipelines.gitlab-ci.yml'
7 py39-django32:
8   stage: test
9   script:
10     - tox -e py39-django32-git
12 py39-django40:
13   stage: test
14   script:
15     - tox -e py39-django40-git
17 py39-django41:
18   stage: test
19   script:
20     - tox -e py39-django41-git
22 py310-django32:
23   stage: test
24   script:
25     - tox -e py310-django32-git
27 py310-django40:
28   stage: test
29   script:
30     - tox -e py310-django40-git
32 py311-django41:
33   stage: test
34   script:
35     - tox -e py311-django41-git
37 py311-django42:
38   stage: test
39   script:
40     - tox -e py311-django42-git
42 released:
43   stage: test
44   script:
45     - tox -e py310-django41
47 # Uncomment when we have a better way to run tests against the
48 # master. Currently, there are version constraints in all the
49 # sub-packages, which leads to all failing tests.
50 # py310-django-latest:
51 #   stage: test
52 #   allow_failure: true
53 #   script:
54 #     - printf "Remove all django version restriction from setup.py.\n"
55 #     - sed -E 's/django[<=>,.[:digit:]]+/django/' -i setup.py
56 #     - tox -e py310-django-latest
58 coverage:
59   stage: test
60   script:
61     - tox -e cov
62   artifacts:
63     paths:
64       - coverage
65     expire_in: 5 days
67 qa:
68   stage: test
69   script:
70     - tox -e qa
72 upstream-client:
73   stage: test
74   script:
75     - tox -e upstream-client
76   only:
77     variables:
78       - $MAILMANCLIENT_COMMIT_SHA
80 upstream-django-mailman3:
81   stage: test
82   script:
83     - tox -e upstream-django-mailman3
84   only:
85     variables:
86       - $DJANGO_MAILMAN3_COMMIT_SHA
88 include:
89   - template: SAST.gitlab-ci.yml
91 variables:
92   SAST_DEFAULT_ANALYZERS: "bandit,secrets"