# 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:bullseye # 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 - apt install -y redis-server - redis-server >/dev/null 2>&1 & - 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 # - apt install -y redis-server # - redis-server >/dev/null 2>&1 & # - 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