.gitlab-ci.yml
author Boris Feld <boris.feld@octobus.net>
Wed, 18 Dec 2019 14:10:49 +0100
changeset 5227 b24de4b465ea
parent 4986 1214f3d085a9
child 5228 cfabc3c4aa10
permissions -rw-r--r--
ci: Add CI job for building the documentation

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

tests-py2-cext:
    image: octobus/ci-py2-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; /ci/repos/mercurial/tests/run-tests.py --color=always)

tests-py2-pure:
    image: octobus/ci-py2-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; /ci/repos/mercurial/tests/run-tests.py --color=always --pure)

tests-py3-cext:
    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"
        - (cd tests; python3 /ci/repos/mercurial/tests/run-tests.py --color=always)

tests-py3-pure:
    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"
        - (cd tests; python3 /ci/repos/mercurial/tests/run-tests.py --color=always --pure)

doc:
    image: octobus/ci-py2-evolve-tutorial-doc
    script:
        # Run the documentation test file in Python 2
        - cd docs/tutorial
        # Install some dependencies for the test file
        - ./prepare_test_file.sh
        - python /ci/repos/mercurial/tests/run-tests.py test-training.t
        # But run the documentation generation in Python3
        - python3 -m venv .venv
        - source .venv/bin/activate
        # Install some dependencies for the doc generation
        - ./prepare_pandoc.sh
        - cd ..
        # Sphinx is installed globally outside and runs with Python2 but
        # pandoc is launching filters with current Python, which is Python 3
        - make
    artifacts:
        paths:
            - html/*