contrib/heptapod-ci.yml
branchstable
changeset 52201 7dd466f13f9b
parent 52200 94ded8440db6
child 52203 5ea21e0c28aa
equal deleted inserted replaced
52200:94ded8440db6 52201:7dd466f13f9b
    50     CI_CLEVER_CLOUD_FLAVOR: "XS"
    50     CI_CLEVER_CLOUD_FLAVOR: "XS"
    51   before_script:
    51   before_script:
    52     - echo $WHEEL_TYPE
    52     - echo $WHEEL_TYPE
    53     - test -n "$WHEEL_TYPE"
    53     - test -n "$WHEEL_TYPE"
    54     - echo $FLAVOR
    54     - echo $FLAVOR
    55     - mkdir -p wheels/$WHEEL_TYPE
    55     - mkdir -p wheels/$WHEEL_TYPE/$BUILD_PY_ID
    56   script:
    56   script:
    57     - /opt/python/cp311-cp311/bin/python setup.py bdist_wheel --dist-dir tmp-wheelhouse
    57     - /opt/python/$BUILD_PY_ID/bin/python setup.py bdist_wheel --dist-dir tmp-wheelhouse
    58     - auditwheel repair tmp-wheelhouse/*.whl -w wheels/$WHEEL_TYPE/
    58     - auditwheel repair tmp-wheelhouse/*.whl -w wheels/$WHEEL_TYPE/$BUILD_PY_ID
    59   artifacts:
    59   artifacts:
    60     paths:
    60     paths:
    61       - wheels/$WHEEL_TYPE
    61       - wheels/$WHEEL_TYPE/$BUILD_PY_ID
    62     expire_in: 1 week
    62     expire_in: 1 week
    63 
    63 
    64 build-c-wheel:
    64 build-c-wheel:
    65   <<: *wheel
    65   <<: *wheel
    66   variables:
    66   variables:
    67     WHEEL_TYPE: "c"
    67     WHEEL_TYPE: "c"
       
    68   parallel:
       
    69     matrix:
       
    70       - BUILD_PY_ID:
       
    71           - cp38-cp38
       
    72           - cp39-cp39
       
    73           - cp310-cp310
       
    74           - cp311-cp311
       
    75           - cp312-cp312
       
    76           - cp313-cp313
    68 
    77 
    69 # TODO: We should select the wheel compatible with the python (and plateform)
    78 # TODO: We should select the wheel compatible with the python (and plateform)
    70 # we use. This is necessary to build multiple wheel.
    79 # we use. This is necessary to build multiple wheel.
    71 .runtests_template: &runtests
    80 .runtests_template: &runtests
    72     <<: *all
    81     <<: *all
    82       - cd /tmp/mercurial-ci/
    91       - cd /tmp/mercurial-ci/
    83       - ls -1 tests/test-check-*.* > /tmp/check-tests.txt
    92       - ls -1 tests/test-check-*.* > /tmp/check-tests.txt
    84     script:
    93     script:
    85         - echo "$RUNTEST_ARGS"
    94         - echo "$RUNTEST_ARGS"
    86         - echo "$WHEEL_TYPE"
    95         - echo "$WHEEL_TYPE"
       
    96         - echo $BUILD_PY_ID
    87         - WHEEL=""
    97         - WHEEL=""
    88         - if test -n "$WHEEL_TYPE"; then
    98         - if test -n "$WHEEL_TYPE"; then
    89              WHEEL="`ls -1 $CI_PROJECT_DIR/wheels/$WHEEL_TYPE/*.whl`";
    99              test -n "$BUILD_PY_ID";
       
   100              WHEEL="`ls -1 $CI_PROJECT_DIR/wheels/$WHEEL_TYPE/$BUILD_PY_ID/*.whl`";
    90              test -n "$WHEEL";
   101              test -n "$WHEEL";
    91           fi
   102           fi
    92         - if test -n "$WHEEL"; then
   103         - if test -n "$WHEEL"; then
    93             echo installing from $WHEEL;
   104             echo installing from $WHEEL;
    94             HGTESTS_ALLOW_NETIO="$TEST_HGTESTS_ALLOW_NETIO" "$PYTHON" tests/run-tests.py --hg-wheel $WHEEL --color=always $RUNTEST_ARGS;
   105             HGTESTS_ALLOW_NETIO="$TEST_HGTESTS_ALLOW_NETIO" "$PYTHON" tests/run-tests.py --hg-wheel $WHEEL --color=always $RUNTEST_ARGS;
   120         RUNTEST_ARGS: " --no-rust --blacklist /tmp/check-tests.txt"
   131         RUNTEST_ARGS: " --no-rust --blacklist /tmp/check-tests.txt"
   121         TEST_HGTESTS_ALLOW_NETIO: "1"
   132         TEST_HGTESTS_ALLOW_NETIO: "1"
   122 
   133 
   123 test-c:
   134 test-c:
   124     <<: *test_c
   135     <<: *test_c
   125     needs: [build-c-wheel]
   136     needs:
   126     variables:
   137       - job: build-c-wheel
   127         WHEEL_TYPE: "c"
   138         parallel:
       
   139           matrix:
       
   140             - BUILD_PY_ID: "cp311-cp311"
       
   141 
       
   142     variables:
       
   143         WHEEL_TYPE: "c"
       
   144         BUILD_PY_ID: "cp311-cp311"
   128         RUNTEST_ARGS: "--blacklist /tmp/check-tests.txt"
   145         RUNTEST_ARGS: "--blacklist /tmp/check-tests.txt"
   129         TEST_HGTESTS_ALLOW_NETIO: "1"
   146         TEST_HGTESTS_ALLOW_NETIO: "1"
   130 
   147 
   131 test-pure:
   148 test-pure:
   132     <<: *runtests
   149     <<: *runtests
   157     <<: *test_c
   174     <<: *test_c
   158     stage: py-version-compat
   175     stage: py-version-compat
   159     when: manual  # avoid overloading the CI by default
   176     when: manual  # avoid overloading the CI by default
   160     variables:
   177     variables:
   161         PYTHON: python3.8
   178         PYTHON: python3.8
       
   179         WHEEL_TYPE: "c"
       
   180         BUILD_PY_ID: "cp38-cp38"
       
   181         RUNTEST_ARGS: " --blacklist /tmp/check-tests.txt"
       
   182         TEST_HGTESTS_ALLOW_NETIO: "1"
       
   183     needs:
       
   184       - job: build-c-wheel
       
   185         parallel:
       
   186           matrix:
       
   187             - BUILD_PY_ID: "cp38-cp38"
   162 
   188 
   163 test-3.12-c:
   189 test-3.12-c:
   164     <<: *test_c
   190     <<: *test_c
   165     stage: py-version-compat
   191     stage: py-version-compat
   166     when: manual  # avoid overloading the CI by default
   192     when: manual  # avoid overloading the CI by default
   167     variables:
   193     variables:
   168         PYTHON: python3.12
   194         PYTHON: python3.12
       
   195         WHEEL_TYPE: "c"
       
   196         BUILD_PY_ID: "cp312-cp312"
       
   197         RUNTEST_ARGS: " --blacklist /tmp/check-tests.txt"
       
   198         TEST_HGTESTS_ALLOW_NETIO: "1"
       
   199     needs:
       
   200       - job: build-c-wheel
       
   201         parallel:
       
   202           matrix:
       
   203             - BUILD_PY_ID: "cp312-cp312"
   169 
   204 
   170 test-3.12-rust:
   205 test-3.12-rust:
   171     <<: *test_rust
   206     <<: *test_rust
   172     stage: py-version-compat
   207     stage: py-version-compat
   173     when: manual  # avoid overloading the CI by default
   208     when: manual  # avoid overloading the CI by default
   178     <<: *test_c
   213     <<: *test_c
   179     stage: py-version-compat
   214     stage: py-version-compat
   180     when: manual  # avoid overloading the CI by default
   215     when: manual  # avoid overloading the CI by default
   181     variables:
   216     variables:
   182         PYTHON: python3.13
   217         PYTHON: python3.13
       
   218         WHEEL_TYPE: "c"
       
   219         BUILD_PY_ID: "cp313-cp313"
       
   220         RUNTEST_ARGS: " --blacklist /tmp/check-tests.txt"
       
   221         TEST_HGTESTS_ALLOW_NETIO: "1"
       
   222     needs:
       
   223       - job: build-c-wheel
       
   224         parallel:
       
   225           matrix:
       
   226             - BUILD_PY_ID: "cp313-cp313"
   183 
   227 
   184 test-3.13-rust:
   228 test-3.13-rust:
   185     <<: *test_rust
   229     <<: *test_rust
   186     stage: py-version-compat
   230     stage: py-version-compat
   187     when: manual  # avoid overloading the CI by default
   231     when: manual  # avoid overloading the CI by default