Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F2577115
.gitlab-ci.yml
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Size
4 KB
Referenced Files
None
Subscribers
None
.gitlab-ci.yml
View Options
# This file is part of libkazv.
# SPDX-FileCopyrightText: 2022-2023 tusooa <tusooa@kazv.moe>
# SPDX-License-Identifier: AGPL-3.0-or-later
workflow
:
rules
:
-
if
:
$CI_PIPELINE_SOURCE == "merge_request_event"
-
if
:
$CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS
when
:
never
-
if
:
$CI_COMMIT_BRANCH
stages
:
-
lint
-
prepare
-
build
-
check-changelog
-
doc
-
pages
lint
:
stage
:
lint
script
:
|
echo 'Verify that no source file contains tabs'
! egrep -R --exclude-dir=resources $'\t' src
rules
:
&build-rules
-
changes
:
&src-chg
-
Dockerfile
-
Dockerfile.cov
-
'**/*.cpp'
-
'**/*.hpp'
-
'**/CMakeLists.txt'
-
'**/*.in'
-
'src/tests/resources/**'
'prepare:env'
:
stage
:
prepare
script
:
|
tag="${CI_COMMIT_BRANCH:-$CI_COMMIT_TAG}"
tag="$(echo "$tag" | sed -e "s/[^a-zA-Z0-9.]/-/g")"
echo "tag=$tag" >> prepare.env
artifacts
:
reports
:
dotenv
:
prepare.env
rules
:
*build-rules
'build:debug'
:
stage
:
build
image
:
name
:
gcr.io/kaniko-project/executor:debug
entrypoint
:
[
""
]
script
:
|
mkdir -p /kaniko/.docker
echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
if [ $CI_PIPELINE_SOURCE == "merge_request_event" ]; then
/kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --build-arg JOBS=1 --no-push
else
/kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --build-arg JOBS=1 --destination $CI_REGISTRY_IMAGE/libkazv:$tag --destination $CI_REGISTRY_IMAGE/libkazv:$tag-debug
fi
dependencies
:
&build-deps
-
prepare:env
rules
:
*build-rules
'build:production'
:
stage
:
build
image
:
name
:
gcr.io/kaniko-project/executor:debug
entrypoint
:
[
""
]
script
:
|
mkdir -p /kaniko/.docker
echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
if [ $CI_PIPELINE_SOURCE == "merge_request_event" ]; then
/kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --build-arg JOBS=1 --build-arg BUILD_TYPE=Release --no-push
else
/kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --build-arg JOBS=1 --build-arg BUILD_TYPE=Release --destination $CI_REGISTRY_IMAGE/libkazv:$tag-prod
fi
dependencies
:
*build-deps
rules
:
*build-rules
'build:coverage'
:
stage
:
build
image
:
name
:
reg.lily.kazv.moe/kazv/libkazv-deps/deps:servant
entrypoint
:
[
""
]
script
:
|
export BUILD_TYPE=Debug
export JOBS=1
export DEPS_INSTALL_DIR=/opt/libkazv-deps
export LIBKAZV_INSTALL_DIR=/opt/libkazv
mkdir build && cd build && \
export CC=gcc-9 CXX=g++-9 && \
cmake .. -DCMAKE_INSTALL_PREFIX="$LIBKAZV_INSTALL_DIR" -DCMAKE_PREFIX_PATH="$DEPS_INSTALL_DIR" -DCMAKE_BUILD_TYPE=$BUILD_TYPE -Dlibkazv_BUILD_TESTS=ON \
-Dlibkazv_BUILD_EXAMPLES=ON -Dlibkazv_BUILD_KAZVJOB=ON -Dlibkazv_ENABLE_COVERAGE=ON && \
make -j$JOBS && \
make test && \
gcovr --xml-pretty --exclude-unreachable-branches --print-summary -o coverage.xml -r "${CI_PROJECT_DIR}" --object-directory src -e '.*/api/.*'
coverage
:
/^\s*lines:\s*\d+.\d+\%/
artifacts
:
name
:
${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHA}
paths
:
-
build/coverage.xml
reports
:
coverage_report
:
coverage_format
:
cobertura
path
:
build/coverage.xml
rules
:
*build-rules
'doc:build'
:
stage
:
doc
image
:
reg.lily.kazv.moe/kazv/libkazv-deps/deps:servant
dependencies
:
[]
script
:
-
doxygen Doxyfile
artifacts
:
paths
:
-
doc/html/
rules
:
-
changes
:
*src-chg
-
changes
:
&doc-chg
-
'**/*.md'
-
.gitlab-ci.yml
-
public/**/*
pages
:
stage
:
pages
image
:
alpine
dependencies
:
-
'doc:build'
script
:
-
mv -v doc/html public/api
artifacts
:
paths
:
-
public
rules
:
-
if
:
$CI_COMMIT_BRANCH != "servant"
when
:
never
-
changes
:
*src-chg
-
changes
:
*doc-chg
'check-changelog'
:
stage
:
check-changelog
image
:
alpine
dependencies
:
[]
script
:
-
sh ./tools/check-changelog
rules
:
-
if
:
$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "servant"
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Tue, Jun 24, 2:30 AM (8 m, 16 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
234638
Default Alt Text
.gitlab-ci.yml (4 KB)
Attached To
Mode
rL libkazv
Attached
Detach File
Event Timeline
Log In to Comment