- Merged 292 changed files from dlbo snapshot - Fixed IDL enum collisions (PortType, PdmEventType) - Fixed Grantlee template for C++11 scoped enums - Fixed CMake VERSION_GREATER syntax - Added missing directories (THP, LtsRestClient, etc.) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
173 lines
6.1 KiB
YAML
Executable File
173 lines
6.1 KiB
YAML
Executable File
##########################
|
|
# BASE Pipeline
|
|
# Adjust
|
|
# ARTIFACTORY_PATH -> Path where we upload the final RPM zips on the asset repository
|
|
# PROJECT_BASE_DIR -> this is how the git exports the file its the same as the projects-domain-live/guez/<fork_name>/legatus/ name
|
|
# cmake_build_flags -> add specific BUILD Params per Project like uas proxy or HLA etc
|
|
# NON GUEZ
|
|
# BUILD_IMAGE -> the build images to use there is guez, federates and lynxhu
|
|
# When used they are tagged: <PROJECT>:<OSVERSION>
|
|
# Not every <OSVERSION> is available for each Project
|
|
# guez: 15.4 15.1 42.3
|
|
# federates: 15.4
|
|
# lynxhu: 15.5
|
|
#########################
|
|
|
|
default:
|
|
interruptible: true
|
|
|
|
variables:
|
|
PROJECT_NAME: 'guez'
|
|
TDS_MAJOR_VERSION: '1.3'
|
|
BUILD_IMAGE: 'asset-repository.sf.defence-elec.de/docker-rme/livesim/guez'
|
|
CHECKOUT_IMAGE: 'asset-repository.sf.defence-elec.de/docker-local/docker/docker:git'
|
|
ARTIFACTORY: 'http://asset-repository.sf.defence-elec.de:80/artifactory'
|
|
ARTIFACTORY_PATH: 'generic-rme/livesim/guez/dlbo'
|
|
RUNNER_TAG: ''
|
|
|
|
stages:
|
|
- checkout
|
|
- workflow
|
|
- build
|
|
- test-release
|
|
|
|
|
|
workflow:
|
|
rules:
|
|
- if: $CI_COMMIT_REF_NAME == "master"
|
|
variables:
|
|
RUNNER_TAG: "ram_20g"
|
|
- if: $CI_COMMIT_REF_NAME != "master"
|
|
variables:
|
|
RUNNER_TAG: "docker"
|
|
- when: always
|
|
|
|
checkout:
|
|
tags:
|
|
- docker
|
|
stage: checkout
|
|
interruptible: true
|
|
image: $CHECKOUT_IMAGE
|
|
script:
|
|
- git clone http://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab-sg1.defence-elec.de/projects-domain-live/rpmbuild.git
|
|
artifacts:
|
|
paths:
|
|
- rpmbuild/
|
|
|
|
build:
|
|
parallel:
|
|
matrix:
|
|
- VERSION: "15.1"
|
|
- VERSION: "15.4"
|
|
- VERSION: "42.3"
|
|
# - VERSION: "15.6"
|
|
tags: [$RUNNER_TAG]
|
|
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
|
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
|
#- ram_20g
|
|
timeout: 5h
|
|
stage: build
|
|
image: ${BUILD_IMAGE}:${VERSION}
|
|
dependencies:
|
|
- checkout
|
|
#interruptible: true
|
|
#resource_group: team7
|
|
variables:
|
|
BUILD_VERSION: $VERSION
|
|
VERSION_DATE: $CI_COMMIT_TIMESTAMP
|
|
PROJECT_BASE_DIR: /builds/projects-domain-live/guez/dlbo/legatus
|
|
EMERGE_VERBOSE: 1 # Verbosity level 0:warning 1:info 2:debug
|
|
script:
|
|
- export BUILD_NUMBER=$(date +%Y%m%d%H)
|
|
- echo '%_smp_mflags -j 4' > ~/.rpmmacros # Limit the number of cores used by the build to 4. https://rpm-packaging-guide.github.io/
|
|
- cp -a rpmbuild /shd/CTC/TOOLS/rpmbuild
|
|
- mkdir /shd/CTC/TOOLS/rpms
|
|
- cd /shd/CTC/TOOLS/rpmbuild
|
|
- |
|
|
echo "TAG: $RUNNER_TAG"
|
|
echo "Current Branch: $CI_COMMIT_REF_NAME"
|
|
if [ $CI_COMMIT_REF_NAME == master ];
|
|
then
|
|
echo '%_smp_mflags -j 4' > ~/.rpmmacros # Limit the number of cores used by the build to 4. https://rpm-packaging-guide.github.io/
|
|
|
|
if [ $VERSION == 42.3 ];
|
|
then
|
|
echo "build 42.3"
|
|
python ./make_rpmModule.py -c LTS \
|
|
--project_name $PROJECT_NAME \
|
|
--version $TDS_MAJOR_VERSION \
|
|
--output_dir /shd/CTC/TOOLS/rpms/ \
|
|
-h true \
|
|
-t false \
|
|
-w false \
|
|
--cmake_build_flags='-DUSE_IPO=ON -DBUILD_ALL=OFF -DUSE_UNITY_BUILD=ON -DGUEZ_MODE=ON -DBUILD_SV=OFF -DBUILD_AAR=OFF -DBUILD_HLA=ON -DBUILD_WLS=OFF -DBUILD_SVC_HLA=ON -DBUILD_TOOLSWS=OFF -DBUILD_TOOLSSV=OFF -DPostgreSQL_TYPE_INCLUDE_DIR=/usr/include/pgsql/'
|
|
else
|
|
echo "$VERSION"
|
|
python ./make_rpm.py -c LTS \
|
|
--project_name $PROJECT_NAME \
|
|
--version $TDS_MAJOR_VERSION \
|
|
--output_dir /shd/CTC/TOOLS/rpms/ \
|
|
--cmake_build_flags='-DUSE_IPO=ON -DUSE_UNITY_BUILD=ON -DGUEZ_MODE=ON -DBUILD_WLS=OFF -DBUILD_SVC_HLA=OFF -DBUILD_TOOLSWS=ON -DBUILD_TOOLSSV=ON -DBUILD_UAS_PROXY=ON -DPostgreSQL_TYPE_INCLUDE_DIR=/usr/include/pgsql/'
|
|
fi
|
|
else
|
|
echo "$VERSION !!!! NO conti Build"
|
|
fi
|
|
- |
|
|
echo "Current Branch: $CI_COMMIT_REF_NAME"
|
|
if [ $CI_COMMIT_REF_NAME == master ];
|
|
then
|
|
echo "BUILD ZIP and UPLOAD"
|
|
zip -qr $PROJECT_NAME-TDS-$TDS_MAJOR_VERSION-$BUILD_NUMBER-$VERSION.zip /shd/CTC/TOOLS/rpms/$PROJECT_NAME-TDS-$TDS_MAJOR_VERSION-$BUILD_NUMBER
|
|
curl -sS \
|
|
-u $RME_CI_GENERIC_WRITER_USER:$RME_CI_GENERIC_WRITER_TOKEN \
|
|
-H "X-Checksum-Sha256: $(sha256sum $PROJECT_NAME-TDS-$TDS_MAJOR_VERSION-$BUILD_NUMBER-$VERSION.zip | awk '{print $1}')" \
|
|
-H "X-Checksum-Sha1: $(sha1sum $PROJECT_NAME-TDS-$TDS_MAJOR_VERSION-$BUILD_NUMBER-$VERSION.zip | awk '{print $1}')" \
|
|
-H "X-Checksum-Md5: $(md5sum $PROJECT_NAME-TDS-$TDS_MAJOR_VERSION-$BUILD_NUMBER-$VERSION.zip | awk '{print $1}')" \
|
|
-X PUT "$ARTIFACTORY/$ARTIFACTORY_PATH/$VERSION/$PROJECT_NAME-TDS-$TDS_MAJOR_VERSION-$BUILD_NUMBER-$VERSION.zip" \
|
|
-T $PROJECT_NAME-TDS-$TDS_MAJOR_VERSION-$BUILD_NUMBER-$VERSION.zip
|
|
else
|
|
echo "NO BUILD ZIP and UPLOAD"
|
|
fi
|
|
|
|
weekly_release:
|
|
stage: build
|
|
image: ${BUILD_IMAGE}:15.1
|
|
tags:
|
|
- docker
|
|
rules:
|
|
- if: '$WEEKLY_RELEASE == "true"'
|
|
variables:
|
|
PROJECT_BASE_DIR: /builds/projects-domain-live/guez/legatus
|
|
artifacts:
|
|
paths:
|
|
- changelog.md
|
|
before_script:
|
|
- git config --global --add safe.directory $PROJECT_BASE_DIR
|
|
- git fetch --tags
|
|
script:
|
|
- LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "none")
|
|
- VER="v$(date +%Y).$(date +%V)"
|
|
- |
|
|
if [ "$LAST_TAG" = "none" ]; then
|
|
RANGE="HEAD"
|
|
else
|
|
RANGE="$LAST_TAG..HEAD"
|
|
fi
|
|
- echo "Range= $RANGE LastTag= $LAST_TAG Version= $VER"
|
|
- git log $RANGE --pretty=format:"%s" > jira_tickets.txt
|
|
|
|
- echo "Weekly Release $VER" > changelog.md
|
|
- echo "" >> changelog.md
|
|
- echo "Commits" >> changelog.md
|
|
- git log $RANGE --pretty=format:"- %s" >> changelog.md
|
|
- echo "" >> changelog.md
|
|
- while read t; do echo "- $t"; done < jira_tickets.txt >> changelog.md
|
|
- git config --global user.name "schmidt_n"
|
|
- git config --global user.email "niklas.schmidt@rheinmetall.com"
|
|
- git tag "$VER"
|
|
- git push --tags http://root:EYQJTVoFUEdgbb23KSuJ@$CI_SERVER_HOST/$CI_PROJECT_PATH.git HEAD:master
|
|
|
|
|