view .gitlab-ci.yml @ 6610:ae7c75c43f92 stable

topic: properly decode topic and topic namespace after reading from disk Looks like we forgot that the bytes read from disk should be converted to the local encoding. The way it's done in this patch is how branch is handled in core.
author Anton Shestakov <av6@dwimlabs.net>
date Mon, 11 Dec 2023 16:15:10 -0300
parents 89f78b4288e9
children acdeec2dc732 c92d2c61dec8 75c048fdcd09
line wrap: on
line source

.prepare_hg: &prepare_hg
    - hg pull -R /ci/repos/mercurial/
    - hg pull -R /ci/repos/mercurial/ https://www.mercurial-scm.org/repo/hg-committed
    - hg_branch=${HG_BRANCH:-$(tests/testlib/map-hg-rev.sh "$(hg identify --branch)")}
    - hg -R /ci/repos/mercurial/ update "$hg_branch"
    - hg_rev=$(hg log -R /ci/repos/mercurial/ -r . -T '{node}')
    - echo testing with mercurial branch="$hg_branch", revision="$hg_rev"

pytype:
    image: registry.heptapod.net/mercurial/ci-images/py3-hgext3rd
    script:
        - *prepare_hg
        - pytype --version
        - jobs=$(python3 -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: py3
    PYTHON: python3
    RUNTEST_ARGS: ""
    TEST_HGMODULEPOLICY: "allow"

.runtests_template: &runtests
    image: registry.heptapod.net/mercurial/ci-images/$PY-hgext3rd
    before_script:
        - (cd tests; ls -1 test-check-*.t > /tmp/check-tests.txt)
    script:
        - *prepare_hg
        - ("$PYTHON" --version)
        - (cd tests; set -x; HGMODULEPOLICY="$TEST_HGMODULEPOLICY" "$PYTHON" /ci/repos/mercurial/tests/run-tests.py --color=always $RUNTEST_ARGS)

checks-py3:
    <<: *runtests
    variables:
        RUNTEST_ARGS: "--test-list /tmp/check-tests.txt"

tests-py3-cext:
    <<: *runtests
    variables:
        RUNTEST_ARGS: "--no-rust --blacklist /tmp/check-tests.txt"
        TEST_HGMODULEPOLICY: "c"

tests-py3-pure:
    <<: *runtests
    variables:
        RUNTEST_ARGS: "--pure --blacklist /tmp/check-tests.txt"
        TEST_HGMODULEPOLICY: "py"

tests-py2-6.1:
    <<: *runtests
    variables:
        PY: py2
        PYTHON: python2
        RUNTEST_ARGS: "--no-rust --blacklist /tmp/check-tests.txt"
        TEST_HGMODULEPOLICY: "c"
        HG_BRANCH: 'max(tag("re:^6\.1"))'
    allow_failure: true

doc:
    image: registry.heptapod.net/mercurial/ci-images/py3-evolve-doc
    script:
        - make doc
    variables:
        LANG: en_US.UTF-8
        PYTHONPATH: "/ci/repos/mercurial:$PYTHONPATH"
    artifacts:
        paths:
            - html/*

sdist:
    stage: .post
    image: registry.heptapod.net/mercurial/ci-images/py3-hgext3rd
    script:
        - python3 setup.py sdist
    artifacts:
        paths:
            - dist/*
    only:
        - tags

.windows_runtests_template: &windows_runtests
    before_script:
        - C:/MinGW/msys/1.0/bin/sh.exe --login -c 'cd "$OLDPWD" && ls -1 tests/test-check-*.t > C:/Temp/check-tests.txt'
    script:
        - C:/MinGW/msys/1.0/bin/sh.exe --login -c 'cd "$OLDPWD" && tests/testlib/update-hg-repo.sh C:/Temp/hg'
        - >
          C:/MinGW/msys/1.0/bin/sh.exe --login -c '
          cd "$OLDPWD" &&
          evo_branch=$(hg identify --branch) &&
          hg_branch=${HG_BRANCH:-$(tests/testlib/map-hg-rev.sh "$evo_branch")} &&
          hg -R C:/Temp/hg update "$hg_branch" &&
          hg_rev=$(hg log -R C:/Temp/hg -r . -T "\{node\}") &&
          echo testing with mercurial branch="$hg_branch", revision="$hg_rev"'
        - Invoke-Expression "$Env:PYTHON --version"
        - echo "$Env:RUNTEST_ARGS"
        - C:/MinGW/msys/1.0/bin/sh.exe --login -c 'cd "$OLDPWD" && HGMODULEPOLICY="$TEST_HGMODULEPOLICY" $PYTHON C:/Temp/hg/tests/run-tests.py --color=always $RUNTEST_ARGS'

windows-py3:
    <<: *windows_runtests
    tags:
        - windows
    variables:
        PYTHON: py -3
        RUNTEST_ARGS: "--blacklist C:/Temp/check-tests.txt"
        TEST_HGMODULEPOLICY: "c"
    when: manual

deb:
    image: registry.heptapod.net/mercurial/ci-images/py3-hgext3rd
    script:
        - apt-get update && apt-get -yq install devscripts equivs lintian --no-install-recommends
        - mk-build-deps --install --tool='apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes' debian/control
        - version=$($PYTHON setup.py --version)
        - debversion="$version+hg$(date +%Y%m%d)+$(hg log -r . -T '{node|short}')"
        - make deb-prepare
        - mkdir -p debs
        - mv ../mercurial-evolve_$version.orig debs/mercurial-evolve_$debversion.orig
        - cd debs/mercurial-evolve_$debversion.orig
        - debchange --newversion "$debversion-1" "automated build"
        - debuild --unsigned-source --unsigned-changes --build=binary
        - dpkg --contents ../mercurial-evolve_$debversion-1_all.deb
    variables:
        DEBEMAIL: evolve-testers@mercurial-scm.org
        DEBFULLNAME: Evolve CI Package Builder
        DEBIAN_FRONTEND: noninteractive
        DEB_BUILD_OPTIONS: nocheck nodoc
    artifacts:
        paths:
            - debs/*.build
            - debs/*.buildinfo
            - debs/*.changes
            - debs/*.deb
    when: manual