image: dtuwindenergy/topfarm2:latest # ===== TEST PyWake debian===== test_PyWake: # name the job what we like stage: # build, test, deploy defined by default [2] test script: - pip install -e . - py.test tags: # only runners with this tag can do the job [3] - python # ===== Check code style ===== check_code_style: # name the job what we like stage: # build, test, deploy defined by default [2] test script: - pip install -e . - pycodestyle --ignore=E501,W504,E741 py_wake tags: # only runners with this tag can do the job [3] - python # ===== TEST PyWake on Windows ===== test_PyWake_windows: # name the job what we like stage: # build, test, deploy defined by default [2] test script: # runs on windows machine due to tag below - source activate pyTopfarm - pytest --cov-report term-missing:skip-covered --cov=py_wake --cov-config .coveragerc tags: # tag for shared runner on windows machine - ANMH_old # ===== Trigger PyWakePark pipeline ===== trigger_pywake_park_test: stage: deploy script: - "curl -X POST -F token=873f41e7914664e3b2359b40890265 -F ref=master https://gitlab.windenergy.dtu.dk/api/v4/projects/1145/trigger/pipeline" tags: # only runners with this tag can do the job [3] - python only: # only run for these branches - master trigger_pywake_ellipsys_test: stage: deploy script: - "curl -X POST -F token=7fdf8e11ba829f21ec39ea5193d3d4 -F ref=master https://gitlab.windenergy.dtu.dk/api/v4/projects/1576/trigger/pipeline" tags: # only runners with this tag can do the job [3] - python only: # only run for these branches - master # ===== build documentation ===== pages: # "pages" is a job specifically for GitLab pages [1] stage: # build, test, deploy defined by default [2] deploy script: # use sphinx to build docs, move to public page - pip install sphinx --upgrade - pip install nbsphinx --upgrade - pip install -e . - cd docs/validation_report - python generate_validation_figures.py - cd report - apt-get install -y texlive-latex-extra - pdflatex validation_report.tex - bibtex validation_report.aux - pdflatex validation_report.tex - pdflatex validation_report.tex - cd ../../ - pwd - make html #- make latexpdf - cd ../; mv docs/build/html public/ artifacts: # required for GitLab pages [1] paths: - public #- docs/build/latex/PyWake.pdf only: # only run for these branches - master - /^test_doc.*/ tags: # only runners with this tag can do the job [3] - python pypi_linux: stage: deploy only: - tags - test_pypi script: - apt-get update - pip install pypandoc - pip install -e . --upgrade - python3 -c 'from git_utils import get_tag; get_tag(verbose=True)' - python3 -m pip install -U setuptools wheel - python3 setup.py sdist bdist_wheel - python3 -m pip install -U twine - python3 -c 'from git_utils import rename_dist_file; rename_dist_file()' - twine upload dist/* -u $TWINE_USERNAME -p $TWINE_PASSWORD #- twine upload --repository-url https://test.pypi.org/legacy/ dist/* -u $TWINE_USERNAME -p $TWINE_PASSWORD # for testing purposes tags: - python # current # pypi_windows: # stage: # deploy # only: # - tags # - test_pypi # script: # - c:/Anaconda3/envs/pyTopfarm/python.exe setup.py bdist_wheel # - twine upload dist/* -u %TWINE_USERNAME% -p %TWINE_PASSWORD% # #- twine upload --repository-url https://test.pypi.org/legacy/ dist/* -u %TWINE_USERNAME% -p %TWINE_PASSWORD% # for testing purposes # tags: # - CPAV_old_PC