.gitlab-ci.yml 1.99 KB
Newer Older
Benedikt Heinrichs's avatar
Benedikt Heinrichs committed
1 2 3 4 5 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 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108


stages:
  - build
  - test
  - docs
  - update-assembly-info
  - build-release
  - semantic-release
  - release
    
build:
  before_script:
    - PowerShell .\build.ps1 -Target Clean
    - PowerShell .\build.ps1 -Target Restore-NuGet-Packages
  stage: build
  script:
    - PowerShell .\build.ps1 -Target Build
  except:
    variables:
      - $GITLAB_USER_ID == $GIT_BOT_USER_ID
  
test:
  stage: test
  script:
    - PowerShell .\build.ps1 -Target Resharper
    - PowerShell .\build.ps1 -Target Run-Unit-Tests
  variables:
    GIT_STRATEGY: none
  dependencies:
    - build
  artifacts:
    reports:
      junit: TestResult.xml
  except:
    variables:
      - $GITLAB_USER_ID == $GIT_BOT_USER_ID

update-assembly-info:
  stage: update-assembly-info
  script:
    - PowerShell .\build.ps1 -Target Update-Assembly-Info
  variables:
    GIT_STRATEGY: none
  dependencies:
    - test
  only:
    - master
  except:
    variables:
      - $GITLAB_USER_ID == $GIT_BOT_USER_ID

build-release:
  before_script:
    - PowerShell .\build.ps1 -Target Clean
    - PowerShell .\build.ps1 -Target Restore-NuGet-Packages
  stage: build-release
  script:
    - PowerShell .\build.ps1 -Target Build-Release
  variables:
    GIT_STRATEGY: none
  dependencies:
    - update-assembly-info
  only:
    - master
  except:
    variables:
      - $GITLAB_USER_ID == $GIT_BOT_USER_ID

docs:
  stage: docs
  script:
    - .\publishDocs.ps1 $GITLAB_TOKEN
  variables:
    GIT_STRATEGY: none
  dependencies:
    - test
  only:
    - master
  except:
    variables:
      - $GITLAB_USER_ID == $GIT_BOT_USER_ID
  
semantic-release:
  stage: semantic-release
  script:
    - PowerShell .\build.ps1 -Target Semantic-Release
  variables:
    GIT_STRATEGY: none
  dependencies:
    - test
  only:
    - master
  except:
    variables:
      - $GITLAB_USER_ID == $GIT_BOT_USER_ID
  
release:
  stage: release
  script:
    - PowerShell .\build.ps1 -Target Build-Release
  variables:
    GIT_STRATEGY: none
  artifacts:
    paths:
      - dist
  only:
    - tags