flake8:
    image: octobus/ci-py2-hgext3rd
    script:
        - hg files -0 'set:(**.py or grep("^#!.*python")) - removed()' -X hgext3rd/evolve/thirdparty | xargs -0 flake8

pytype:
    image: octobus/ci-py3-hgext3rd
    script:
        - hg pull -R /ci/repos/mercurial/
        - hg_rev=$(tests/testlib/map-hg-rev.sh "$(hg log -r . -T '{branch}')")
        - hg -R /ci/repos/mercurial/ update "$hg_rev"
        - jobs=$(python -c 'import multiprocessing; print multiprocessing.cpu_count()')
        - pytype -P /ci/repos/mercurial/:hgext3rd -k hgext3rd -x hgext3rd/evolve/thirdparty -j $jobs || true
    when: manual

variables:
    PY: py2
    PYTHON: python
    RUNTEST_ARGS: ""

.runtests_template: &runtests
    image: octobus/ci-$PY-hgext3rd
    script:
        - hg pull -R /ci/repos/mercurial/
        - hg_rev=$(tests/testlib/map-hg-rev.sh "$(hg log -r . -T '{branch}')")
        - hg -R /ci/repos/mercurial/ update "$hg_rev"
        - (cd tests; "$PYTHON" /ci/repos/mercurial/tests/run-tests.py --color=always $RUNTEST_ARGS)

tests-py2-cext:
    <<: *runtests

tests-py2-pure:
    <<: *runtests
    variables:
        RUNTEST_ARGS: "--pure"

tests-py3-cext:
    <<: *runtests
    variables:
        PY: py3
        PYTHON: python3

tests-py3-pure:
    <<: *runtests
    variables:
        PY: py3
        PYTHON: python3
        RUNTEST_ARGS: "--pure"

doc:
    image: octobus/ci-py2-evolve-doc
    script:
        - cd docs/
        - make
    variables:
        LANG: en_us.UTF-8
    artifacts:
        paths:
            - html/*
