stages: - main - compat variables: # has to be "stable" in the stable branch, and actually we should rename # "latest" as "default": this would let us just use $CI_COMMIT_HG_BRANCH BASE_IMAGES_TAG: $CI_COMMIT_HG_BRANCH BASE_IMAGES_COLLECTION: registry.heptapod.net:443/heptapod/ci-images BASE_IMAGES_MERCURIAL: $BASE_IMAGES_COLLECTION/mercurial check-sdist: stage: compat image: octobus/ci-hgitaly:variable-hg needs: [] script: - rm -rf dist - python3 setup.py sdist # most requirements will be preinstalled in the base image (taken from the # default branch of HGitaly at time of image build), but they will be # reexamined and any change will be tested. - pip3 install dist/*.tar.gz # used to mark job that should run for the 'default' branch of HGitaly only .only_hgitaly_default: rules: - if: '$CI_COMMIT_HG_BRANCH == "default"' - when: never .tests: script: # The hgitaly project currently only has one branch: default, and we'll # have a stable branch only after Heptapod 0.17.0 release. # At this point, the simplest will be to have the same branch conventions # in py-heptapod and HGitaly (already implemented below). # So either both have a `heptapod-0-17` branch # or we decide that the new versioning rules (see heptapod#352) allow us to # simply have a `stable` branch in both. # TODO switch to clone/update, but a first attempt cloning in ./py-heptapod # led to shadowing problems and bad applied hg config. Using archives is not # *that* inefficient - pip3 install https://foss.heptapod.net/heptapod/py-heptapod/-/archive/branch/${CI_COMMIT_HG_BRANCH}/py-heptapod-branch-${CI_COMMIT_HG_BRANCH}.tar.bz2 # usually the base image should have all that's needed # but in case of changes in test dependencies, we may still # need to install/update something. - pip3 install -r test-requirements.txt - pip3 freeze - ./lint - ./run-all-tests tests-current: extends: - .tests stage: main image: ${BASE_IMAGES_COLLECTION}/heptapod-gitaly:${CI_COMMIT_HG_BRANCH} variables: GITALY_INSTALL_DIR: /opt/gitlab/gitaly tests-hg-stable: extends: - .tests - .only_hgitaly_default stage: compat image: ${BASE_IMAGES_MERCURIAL}/hg-stable:${BASE_IMAGES_TAG} tests-hg-default: extends: - .tests - .only_hgitaly_default allow_failure: true stage: compat image: ${BASE_IMAGES_MERCURIAL}/hg-default:${BASE_IMAGES_TAG}