summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: bc925f2d6649794d5662453389c89ea7b73d608a (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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
variables:
  GIT_STRATEGY: "clone"
  BUILD_PADDING_PREFIX: /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX_PREFIX/
  INSTALL_PREFIX: "/opt/tsg/verify-policy"
  TESTING_VERSION_BUILD: 0
  BUILD_IMAGE_CENTOS8: "git.mesalab.cn:7443/mesa_platform/build-env:rockylinux"

stages:
- build
- test

###############################################################################
# The script is set to el7 or el8
###############################################################################
.build_before_script:
  before_script:
    - mkdir -p $BUILD_PADDING_PREFIX/$CI_PROJECT_NAMESPACE/
    - ln -s $CI_PROJECT_DIR $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
    - cd $BUILD_PADDING_PREFIX/$CI_PROJECT_PATH
    - chmod +x ./ci/travis.sh
    - yum makecache

.build_by_travis_for_centos8:
  stage: build
  image: $BUILD_IMAGE_CENTOS8
  extends: .build_before_script
  script:
    - ./ci/travis.sh
  tags:
    - share

###############################################################################
# make test: centos8
###############################################################################
run_test_for_centos8:
  stage: test
  extends: .build_by_travis_for_centos8
  script:
    - yum makecache
    - ./ci/travis.sh
    - cd build
    - make test

###############################################################################
# compile use image: centos8
###############################################################################
branch_build_debug_for_centos8:
  extends: .build_by_travis_for_centos8
  variables:
    BUILD_TYPE: Debug
  except:
    - /^develop-.*$/i
    - /^master.*$/i
    - tags

branch_build_release_for_centos8:
  variables:
    BUILD_TYPE: RelWithDebInfo
  extends: .build_by_travis_for_centos8
  except:
    - /^develop-.*$/i
    - /^master.*$/i
    - tags

develop_build_debug_for_centos8:
  extends: .build_by_travis_for_centos8
  variables:
    TESTING_VERSION_BUILD: 1
    UPLOAD: 1
    BUILD_TYPE: Debug
    PACKAGE: 1
    SYMBOL_TARGET: verify-policy
    PULP3_REPO_NAME: tsg-testing-x86_64.el8
    PULP3_DIST_NAME: tsg-testing-x86_64.el8
  artifacts:
    name: "verify-policy-develop-$CI_COMMIT_REF_NAME-debug"
    paths:
      - build/*.rpm
  only:
    - /^develop-.*$/i
    - /^master.*$/i

develop_build_release_for_centos8:
  extends: .build_by_travis_for_centos8
  variables:
    TESTING_VERSION_BUILD: 1
    UPLOAD: 1
    BUILD_TYPE: RelWithDebInfo
    PACKAGE: 1
    SYMBOL_TARGET: verify-policy
    PULP3_REPO_NAME: tsg-testing-x86_64.el8
    PULP3_DIST_NAME: tsg-testing-x86_64.el8
  artifacts:
    name: "verify-policy-develop-$CI_COMMIT_REF_NAME-release"
    paths:
      - build/*.rpm
  only:
    - /^develop-.*$/i
    - /^master.*$/i

release_build_debug_for_centos8:
  variables:
    UPLOAD: 1
    BUILD_TYPE: Debug
    PACKAGE: 1
    SYMBOL_TARGET: verify-policy
    PULP3_REPO_NAME: tsg-stable-x86_64.el8
    PULP3_DIST_NAME: tsg-stable-x86_64.el8
  extends: .build_by_travis_for_centos8
  artifacts:
    name: "verify-policy-$CI_COMMIT_REF_NAME-debug"
    paths:
      - build/*.rpm
  only:
    - tags

release_build_release_for_centos8:
  variables:
    BUILD_TYPE: RelWithDebInfo
    UPLOAD: 1
    PACKAGE: 1
    SYMBOL_TARGET: verify-policy
    PULP3_REPO_NAME: tsg-stable-x86_64.el8
    PULP3_DIST_NAME: tsg-stable-x86_64.el8
  extends: .build_by_travis_for_centos8
  artifacts:
    name: "verify-policy-$CI_COMMIT_REF_NAME-release"
    paths:
      - build/*.rpm
  only:
    - tags