summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: 08e1ac95677c113a5744eba9275421dca736b498 (plain)
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
image: "docker:stable"

services:
  - docker:dind

variables:
  GIT_STRATEGY: "clone"
  DOCKER_HOST: tcp://docker:2375
  DOCKER_DRIVER: overlay2
  IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG

stages:
  - build
  - package
  - release

.build_before_script:
  before_script:
    - mkdir -p /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/$CI_PROJECT_NAMESPACE/
    - ln -s $CI_PROJECT_DIR /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/$CI_PROJECT_PATH
    - cd /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/$CI_PROJECT_PATH

.build_dns:
  extends: .build_before_script
  image: git.mesalab.cn:7443/mesa_framework/framework:master
  script:
    - cp src/dns.h /opt/MESA/include/MESA/
    - source /etc/profile.d/MESA.sh
    - mkdir -p build
    - cd build
    - cmake ..  -DCMAKE_BUILD_TYPE=$BUILD_TYPE
    - make

.package_dns:
    extends: .build_before_script
    image: git.mesalab.cn:7443/mesa_framework/framework:master
    script:
      - cp src/dns.h /opt/MESA/include/MESA/
      - source /etc/profile.d/MESA.sh
      - mkdir -p build
      - cd build
      - cmake ..  -DCMAKE_BUILD_TYPE=$BUILD_TYPE
      - make package

build:
  stage: build
  extends:   .build_dns
  tags:
    - share
  variables:
    BUILD_TYPE: "Release"
  except:
    - tags

#build-docker:
#  stage: build
#  script:
#    - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
#    - docker build -t $IMAGE_TAG .
#    - docker push $IMAGE_TAG
#  tags:
#    - share
#  only:
#    - tags

dns-package:
    stage: package
    extends: .package_dns
    tags:
      - share
    variables:
        BUILD_TYPE: "Release"
    artifacts:
        name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME"
        paths:
          -  ./build/*.rpm
    only:
    - tags

release:
  stage: release
  image: git.mesalab.cn:7443/mesa_framework/framework:master
  tags:
    - share
  only:
    - tags
  variables:
    ARTIFACTS_JOB: "dns-package"
    PROJECT_NAME: "dns"
    USER_DEFINE: "release"
  script:
    - /bin/bash -x ./autorelease.sh $CI_API_V4_URL $CI_PROJECT_URL $CI_PROJECT_ID $CI_TOKEN $CI_COMMIT_TAG $ARTIFACTS_JOB $CI_PROJECT_NAME $USER_DEFINE