Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 28223b83 authored by PRUVOST Florent's avatar PRUVOST Florent
Browse files

Merge branch 'notest-test' into 'master'

Notest test

See merge request solverstack/hqr!23
parents 7c1e401c ff6c4718
No related branches found
No related tags found
No related merge requests found
image: registry.gitlab.inria.fr/solverstack/docker/distrib
stages:
- pre
- build
- test
- analyze
......@@ -21,6 +22,18 @@ before_script:
rules:
- if: ($CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME !~ /^notest-.*$/)
preliminary_checks:
stage: pre
tags: ["docker", "large"]
interruptible: true
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
parallel:
matrix:
- TEST: [rebase, draft, header]
script:
- .gitlab/check_ci.sh $TEST
hqr_build_linux:
stage: build
tags: ["docker", "large"]
......
#!/usr/bin/env bash
success=1
check_rebase()
{
hash_master=$(git show-ref -s origin/master)
hash_common=$(git merge-base origin/master ${CI_COMMIT_SHA})
if [ "${hash_master}" = "${hash_common}" ]
then
echo "check_rebase: OK"
return 0
else
echo "check_rebase: Rebase is required"
success=0
return 1
fi
}
check_draft()
{
if [ "${CI_PIPELINE_SOURCE}" = "merge_request_event" ]
then
draft=$( echo ${CI_MERGE_REQUEST_TITLE} | sed "s/^Draft.*$/Draft/" )
wip=$( echo ${CI_MERGE_REQUEST_TITLE} | sed "s/^WIP.*$/WIP/" )
if [ "$draft" = "Draft" ]
then
echo "check_draft: Merge request is in draft mode"
success=0
return 1
fi
if [ "$wip" = "WIP" ]
then
echo "check_draft: Merge request is in WIP"
success=0
return 1
fi
# if [ "${CI_MERGE_REQUEST_APPROVED}" != "true" ]
# then
# echo "check_approval: Merge request not yet approved"
# success=0
# return 1
# fi
echo "check_draft: Merge request is ok"
fi
return 0
}
check_header()
{
echo " Checking file headers: "
SCRIPTDIR=$(dirname $0)
$SCRIPTDIR/check_header.sh
rc=$?
if [ $rc -eq 0 ]
then
echo "Check header: SUCCESS"
else
echo "Check header: FAILED"
success=0
fi
}
if [ $# -lt 1 ]
then
echo "Usage: $0 [rebase|draft|header]"
exit 1
fi
echo ""
echo "----------------------------------------------------"
case $1 in
rebase)
check_rebase
;;
draft)
check_draft
;;
header)
check_header
;;
*)
echo "Usage: $0 [rebase|draft|header]"
exit 1
;;
esac
if [ $success -eq 0 ]
then
exit 1
# We could cancel the job, but then the log is not pushed in time to the web interface
#curl --request POST --header "PRIVATE-TOKEN: ${PIPELINE_TOKEN}" "https://gitlab.inria.fr/api/v4/projects/$CI_PROJECT_ID/pipelines/$CI_PIPELINE_ID/cancel"
fi
#!/usr/bin/env sh
header=1
nberr=0
print_header()
{
if [ $header -ne 0 ]
then
echo "------ $1 --------"
header=0
fi
}
check_header_file()
{
filename=$1
basename=$( basename $filename .in )
if [ "$basename" != "CMakeLists.txt" ]
then
toto=$( grep " @file $basename" $filename )
if [ $? -ne 0 ]
then
toto=$( grep " @file .*/$basename" $filename )
fi
if [ $? -ne 0 ]
then
print_header $filename
echo -n "@file line missing or incorrect:"; grep "@file" $filename; echo ""
nberr=$(( nberr + 1 ))
fi
fi
}
check_header_copyright()
{
filename=$1
basename=$( basename $filename )
year=$( date +%Y )
toto=$( grep -E " @copyright [0-9]{4}-$year Bordeaux INP" $filename )
if [ $? -ne 0 ]
then
print_header $filename
echo -n "@copyright line missing or incorrect:"; grep "@copyright" $filename; echo "";
fi
}
check_header_version()
{
filename=$1
basename=$( basename $filename )
toto=$( grep -E " @version [0-9]\.[0-9]\.[0-9]" $filename )
if [ $? -ne 0 ]
then
print_header $filename
echo -n "@version line missing or incorrect:"; grep "@version" $filename; echo "";
nberr=$(( nberr + 1 ))
fi
}
check_header_author()
{
filename=$1
basename=$( basename $filename )
toto=$( grep -E " @author " $filename )
if [ $? -ne 0 ]
then
print_header $filename
echo "@author line missing";
nberr=$(( nberr + 1 ))
fi
}
check_header_date()
{
filename=$1
basename=$( basename $filename )
toto=$( grep -E " @date [0-9]{4}-[01][0-9]-[0-3][0-9]" $filename )
if [ $? -ne 0 ]
then
print_header $filename
echo -n "@date line missing or incorrect"; grep "@date" $filename; echo "";
nberr=$(( nberr + 1 ))
fi
}
check_header_define()
{
filename=$1
basename=$( basename $filename )
case $basename in
*.h)
n=$( basename $basename .h | awk '{print tolower($0)}' )
macro="_${n}_h_"
err=0
toto=$( grep "#ifndef .*$macro" $filename )
ret=$?
err=$((err + ret))
if [ $ret -eq 0 ]
then
macro=$( grep "#ifndef" $filename | sed 's/#ifndef //' )
fi
toto=$( grep "#define $macro" $filename )
ret=$?
err=$((err + ret))
toto=$( grep "#endif /\* $macro \*/" $filename )
ret=$?
err=$((err + ret))
if [ $err -ne 0 ]
then
print_header $filename
grep "#ifndef" $filename
grep "#define" $filename
grep "#endif" $filename
nberr=$(( nberr + 1 ))
fi
;;
*)
esac
}
#
# Check that the given source file contains
#
# @file filename
# @copyright
# @version
# @date
#
check_header()
{
header=1
check_header_file $1
check_header_copyright $1
check_header_version $1
check_header_author $1
check_header_date $1
check_header_define $1
}
#
# Check headers
#
files=$( git ls-files |
grep -v "^\." |
grep -v ".*\.md" |
grep -v ChangeLog |
grep -v LICENSE |
grep -v ".*\.cmake" |
grep -v doc/ |
grep -v CTest |
grep -v "\.xml" |
grep -v "input/.*\.in" |
grep -v "\.org" )
if [ $# -gt 0 ]
then
files=$*
fi
for f in $files
do
#echo $f
if [ -d $f ]
then
continue;
fi
check_header $f
done
if [ $nberr -gt 0 ]
then
echo "${nberr} mistakes have been found in the header files."
exit 1
else
exit 0
fi
#
# @file hqr.pc
#
# @copyright 2017-2023 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
# Univ. Bordeaux. All rights reserved.
#
# @version 1.0.0
# @author Mathieu Faverge
# @date 2017-03-21
#
prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment