.gitlab-ci.yml 1.61 KB
Newer Older
t's avatar
t committed
1 2 3 4 5
#Tell Gitlab to load these environental vars from the variables list
variables:
  PYPI_USER: SECURE
  PYPI_PASS: SECURE
  
Matt Clarkson's avatar
Matt Clarkson committed
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
stages:
  - build
  - installer
  - test
  - deploy


build docs:
  stage: build
  script:
    - tox -e docs
  tags:
    - shared-linux
  artifacts:
    paths:
    - doc/
    expire_in: 1 week


build linux installer:
  stage: build
  script:
    - tox -e installer
  tags:
    - shared-linux
  artifacts:
    paths:
    - dist/
    expire_in: 1 week


build mac installer:
  stage: build
  script:
    - tox -e installer
  tags:
    - shared-mac
  artifacts:
    paths:
    - dist/
    expire_in: 1 week


build windows installer:
  stage: build
  script:
    - tox -e installer
  tags:
    - shared-win
  artifacts:
    paths:
    - dist/
    expire_in: 1 week


test Linux:
  stage: test
  script:
      - tox
  tags:
    - shared-linux
  coverage: '/^TOTAL.*\s+(\d+\%)$/'


test macOS:
  stage: test
  script:
      - tox
  tags:
    - shared-mac


test Windows:
  stage: test
  script:
      - tox
  tags:
    - shared-win


t's avatar
t committed
86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
deploy pip to production:

  stage: deploy
  when: manual
  only:
    - tags
    
  environment:
    name: PyPI
    url: https://pypi.python.org/pypi/scikit-surgerycore
    
  tags:
    - pip-production
    
  artifacts:
    paths:
    - dist/
    
  script:
    # Install packages required to build/publish
    # remove any previous distribution files
    - pip install wheel twine setuptools
    - rm -rf dist

    # bundle installer
    - python setup.py bdist_wheel

    # Upload to testpypi server
    - twine upload --repository pypi dist/* --username $PYPI_USER --password $PYPI_PASS