aboutsummaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: 8562f114f0068d457b993993c8d600ceecd390d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# Change pip's cache directory to be inside the project directory since we can
# only cache local items.
variables:
  PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"

default:
  image: python:latest
  # Pip's cache doesn't store the python packages
  # https://pip.pypa.io/en/stable/topics/caching/
  #
  # If you want to also cache the installed packages, you have to install
  # them in a virtualenv and cache it as well.
  cache:
    paths:
      - .cache/pip
      - .tox

  before_script:
    - python --version  # For debugging
    - pip install tox

test:
  script:
    - pip install poetry && pip install "playwright=="$(poetry show playwright | grep version | cut -f 2 -d ":" | tr -d " ")
    - playwright install firefox
    - playwright install-deps
    - tox -e python -- --browser firefox

test-pypy:
  image: pypy:3
  # nh3 does not have wheels prepared for pypy, so we need a working Rust
  # compiler to compile the module:
  script:
    - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh /dev/stdin -y --profile=minimal
    - source "$HOME/.cargo/env"
    - pip install poetry && pip install "playwright=="$(poetry show playwright | grep version | cut -f 2 -d ":" | tr -d " ")
    - playwright install firefox
    - playwright install-deps
    - tox -e pypy3 -- --browser firefox

lint:
  script:
    - tox -e pylint,pylint-tests,flake,black,isort

mypy:
  script:
    - tox -e mypy

eslint:
  image: node
  before_script: []
  script:
    - npm install
    - npx eslint asset-sources/*.ts