.gitlab-ci.yml 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. image: golang:alpine
  2. before_script:
  3. - apk update
  4. - apk --no-cache --no-progress add --virtual build-deps build-base git linux-pam-dev
  5. stages:
  6. - build
  7. - prepare
  8. - test
  9. - clean
  10. - commands
  11. - image-test
  12. - pre-test-source
  13. Build:
  14. image: golang:alpine
  15. stage: build
  16. script:
  17. - mkdir -p $GOPATH/src/gitote
  18. - cd $GOPATH/src/gitote
  19. - git clone https://gitlab.com/$CI_PROJECT_PATH.git gitote
  20. - cd gitote
  21. - make build
  22. Build Dev:
  23. image: golang:alpine
  24. stage: build
  25. script:
  26. - mkdir -p $GOPATH/src/gitote
  27. - cd $GOPATH/src/gitote
  28. - git clone https://gitlab.com/$CI_PROJECT_PATH.git gitote
  29. - cd gitote
  30. - make build-dev
  31. Build Dev Race:
  32. image: golang:latest
  33. before_script:
  34. - apt-get update -qq
  35. - apt-get install -y libpam-dev zip unzip
  36. stage: build
  37. script:
  38. - mkdir -p $GOPATH/src/gitote
  39. - cd $GOPATH/src/gitote
  40. - git clone https://gitlab.com/$CI_PROJECT_PATH.git gitote
  41. - cd gitote
  42. - make build-dev-race
  43. Build Prod:
  44. image: golang:latest
  45. before_script:
  46. - apt-get update -qq
  47. - apt-get install -y libpam-dev zip unzip
  48. stage: build
  49. script:
  50. - mkdir -p $GOPATH/src/gitote
  51. - cd $GOPATH/src/gitote
  52. - git clone https://gitlab.com/$CI_PROJECT_PATH.git gitote
  53. - cd gitote
  54. - wget https://gitlab.com/gitote/bindata/raw/master/go-bindata
  55. - make bindata
  56. - make build
  57. Compile LESS:
  58. image: golang:alpine
  59. stage: prepare
  60. script:
  61. - mkdir -p $GOPATH/src/gitote
  62. - cd $GOPATH/src/gitote
  63. - git clone https://gitlab.com/$CI_PROJECT_PATH.git gitote
  64. - cd gitote
  65. - make less
  66. Bindata:
  67. image: golang:alpine
  68. stage: prepare
  69. script:
  70. - mkdir -p $GOPATH/src/gitote
  71. - cd $GOPATH/src/gitote
  72. - git clone https://gitlab.com/$CI_PROJECT_PATH.git gitote
  73. - cd gitote
  74. - wget https://gitlab.com/gitote/bindata/raw/master/go-bindata
  75. - make bindata
  76. Test:
  77. image: golang:latest
  78. before_script:
  79. - apt-get update -qq
  80. - apt-get install -y libpam-dev zip unzip
  81. stage: test
  82. script:
  83. - mkdir -p $GOPATH/src/gitote
  84. - cd $GOPATH/src/gitote
  85. - git clone https://gitlab.com/$CI_PROJECT_PATH.git gitote
  86. - cd gitote
  87. - go test -v -cover -race ./...
  88. Go LOC:
  89. image: golang:alpine
  90. stage: test
  91. script:
  92. - mkdir -p $GOPATH/src/gitote
  93. - cd $GOPATH/src/gitote
  94. - git clone https://gitlab.com/$CI_PROJECT_PATH.git gitote
  95. - cd gitote
  96. - go get -u github.com/hhatto/gocloc/cmd/gocloc
  97. - gocloc .
  98. Clean:
  99. image: golang:alpine
  100. stage: clean
  101. script:
  102. - mkdir -p $GOPATH/src/gitote
  103. - cd $GOPATH/src/gitote
  104. - git clone https://gitlab.com/$CI_PROJECT_PATH.git gitote
  105. - cd gitote
  106. - make clean
  107. Admin:
  108. image: golang:alpine
  109. stage: commands
  110. script:
  111. - mkdir -p $GOPATH/src/gitote
  112. - cd $GOPATH/src/gitote
  113. - git clone https://gitlab.com/$CI_PROJECT_PATH.git gitote
  114. - cd gitote
  115. - go build
  116. - ./gitote admin
  117. Hook:
  118. image: golang:alpine
  119. stage: commands
  120. script:
  121. - mkdir -p $GOPATH/src/gitote
  122. - cd $GOPATH/src/gitote
  123. - git clone https://gitlab.com/$CI_PROJECT_PATH.git gitote
  124. - cd gitote
  125. - go build
  126. - ./gitote hook
  127. Import:
  128. image: golang:alpine
  129. stage: commands
  130. script:
  131. - mkdir -p $GOPATH/src/gitote
  132. - cd $GOPATH/src/gitote
  133. - git clone https://gitlab.com/$CI_PROJECT_PATH.git gitote
  134. - cd gitote
  135. - go build
  136. - ./gitote import
  137. Cert:
  138. image: golang:alpine
  139. stage: commands
  140. script:
  141. - mkdir -p $GOPATH/src/gitote
  142. - cd $GOPATH/src/gitote
  143. - git clone https://gitlab.com/$CI_PROJECT_PATH.git gitote
  144. - cd gitote
  145. - go build
  146. - ./gitote cert --help
  147. Serv:
  148. image: golang:alpine
  149. stage: commands
  150. script:
  151. - mkdir -p $GOPATH/src/gitote
  152. - cd $GOPATH/src/gitote
  153. - git clone https://gitlab.com/$CI_PROJECT_PATH.git gitote
  154. - cd gitote
  155. - go build
  156. - ./gitote serv --help
  157. Running:
  158. image: golang:alpine
  159. stage: pre-test-source
  160. script:
  161. - mkdir -p $GOPATH/src/gitote
  162. - cd $GOPATH/src/gitote
  163. - git clone https://gitlab.com/$CI_PROJECT_PATH.git gitote
  164. - cd gitote
  165. - go build
  166. - ./gitote web & sleep 20 ; kill $! || echo $?