Skip to content
Snippets Groups Projects
Commit 03196c1e authored by Alejandro Lopez Gestoso's avatar Alejandro Lopez Gestoso
Browse files

Update packaging-ci.yml

parent 23cae37c
No related branches found
No related tags found
No related merge requests found
default:
before_script:
- apt-get update -qq && apt-get install -y -qq sqlite3 libsqlite3-dev nodejs
- gem install bundler --no-document
- bundle install --jobs $(nproc) "${FLAGS[@]}"
.build_package: &build_package
script:
#- git submodule sync --recursive
#- git submodule update --init --recursive
- apt update || apt -y install ca-certificates && apt update
##Install dependencies
#- apt -y install iri-dep1-dev iri-dep2-dev
# Read dependencies from CMakeLists.txt
- DEP=( $(grep -P '[^#]\s+SET\(CPACK_DEBIAN_PACKAGE_DEPENDS\s+"' CMakeLists.txt) )
- declare -a DEP
- |+
for ((i=1;i<${#DEP[@]};i+=3))
do
if [ ${i} -eq 1 ]
then
apt -y install ${DEP[${i}]:1};
else
apt -y install ${DEP[${i}]};
fi
done
- mkdir -pv build
- cd build
- cmake -DCMAKE_BUILD_TYPE=RELEASE -DCPACK_PACKAGE_VERSION=$TAG_VERSION ..
- make package -j $(nproc)
artifacts:
paths:
- build/*.deb
expire_in: 2 weeks
.update_repo: &update_repo
script:
- cd build
- "scp -i /root/.ssh/iriLabKeyNopwd -r *$PACKAGE_NAME*.deb irilabo@labrepo.iri.upc.edu:packages/"
- "ssh irilabo@labrepo.iri.upc.edu -i /root/.ssh/iriLabKeyNopwd -tt /home/irilabo/repo_scripts/update_repo.sh $PACKAGE_NAME $(lsb_release -cs)"
.cleanup: &cleanup
# delete .rdepends_ci/rdepends_ci.yml, merge to master and delete branch
- git config user.email labrobotica@iri.upc.edu
- git config user.name labrobotica
- git branch -D update_rdepends || echo "Update_depends branch already deleted"
- git push origin --delete update_rdepends || echo "Update_depends branch already deleted"
.build_package_tag: &build_package_tag
rules:
- if: $FROM_RDEPENDS_CI == "false" && $CI_COMMIT_TAG =~ /\d+\.[^a-zA-Z_\s]*\d+/ && $GITLAB_USER_NAME != "rdepends_token"
<<: *build_package
.update_repo_tag: &update_repo_tag
rules:
- if: $FROM_RDEPENDS_CI == "false" && $CI_COMMIT_TAG =~ /\d+\.[^a-zA-Z_\s]*\d+/ && $GITLAB_USER_NAME != "rdepends_token"
<<: *update_repo
.modify_rdepends_ci: &modify_rdepends_ci
rules:
- if: $FROM_RDEPENDS_CI == "false" && $CI_COMMIT_TAG =~ /\d+\.[^a-zA-Z_\s]*\d+/ && $GITLAB_USER_NAME != "rdepends_token"
script:
# Modify child pipeline
- apt update || apt -y install ca-certificates && apt update
- "scp -i /root/.ssh/iriLabKeyNopwd irilabo@labrepo.iri.upc.edu:repo_scripts/reverse_dependency.sh ."
- ./reverse_dependency.sh $PACKAGE_NAME
# get path
- PROJ=( $(apt-cache show iri-$PACKAGE_NAME-dev | grep Homepage) )
- declare -a PROJ
- if [ ${#PROJ[@]} -eq 2 ]
- then
- PROJECT_STRING=${PROJ[1]#https://gitlab.iri.upc.edu/}
- else
- echo "No homepage found for iri-$PACKAGE_NAME-dev"
- exit 1
- fi
# git configuration & push
- git config user.email labrobotica@iri.upc.edu
- git config user.name labrobotica
- if git checkout -b update_rdepends ; then
- echo "Branch update_rdepends ok."
- else
- git branch -D update_rdepends
- git checkout -b update_rdepends
- echo "Re-created branch update_rdepends ok."
- fi
- git add .rdepends_ci/rdepends_ci.yml
- git commit -m "Updated rdepends_ci.yml"
- git remote set-url --push origin https://rdepends_token:$ACCESS_TOKEN@gitlab.iri.upc.edu/${PROJECT_STRING}.git || echo "Origin already exists"
- git remote show origin
- git push --set-upstream origin update_rdepends
.cleanup_branch_on_failure2: &cleanup_branch_on_failure2
rules:
- if: $FROM_RDEPENDS_CI == "false" && $CI_COMMIT_TAG =~ /\d+\.[^a-zA-Z_\s]*\d+/ && $GITLAB_USER_NAME != "rdepends_token"
when: on_failure
script:
- *cleanup
needs: [modify-rdepends-ci]
.trigger_rdepends_ci: &trigger_rdepends_ci
rules:
- if: $CI_COMMIT_BRANCH == "update_rdepends"
trigger:
include: .rdepends_ci/rdepends_ci.yml
strategy: depend
.cleanup_branch: &cleanup_branch
rules:
- if: $CI_COMMIT_BRANCH == "update_rdepends"
script:
- *cleanup
needs: [trigger-rdepends-ci]
.cleanup_branch_on_failure: &cleanup_branch_on_failure
rules:
- if: $CI_COMMIT_BRANCH == "update_rdepends"
when: on_failure
script:
- *cleanup
needs: [trigger-rdepends-ci]
.generate_new_tag: &generate_new_tag
rules:
- if: $FROM_RDEPENDS_CI == "true"
script:
# get path
- PROJ=( $(apt-cache show iri-$PACKAGE_NAME-dev | grep Homepage) )
- declare -a PROJ
- if [ ${#PROJ[@]} -eq 2 ]
- then
- PROJECT_STRING=${PROJ[1]#https://gitlab.iri.upc.edu/}
- else
- echo "No homepage found for iri-$PACKAGE_NAME-dev"
- exit 1
- fi
# git configuration & tag
- git config user.email labrobotica@iri.upc.edu
- git config user.name labrobotica
- git tag -a $TAG_VERSION -m "New tag by reverse dependency pipeline"
- git remote set-url --push origin https://rdepends_token:$ACCESS_TOKEN@gitlab.iri.upc.edu/${PROJECT_STRING}.git || echo "Origin already exists"
- git remote show origin
- git push origin $TAG_VERSION
.build_package_rdep: &build_package_rdep
rules:
- if: $FROM_RDEPENDS_CI == "true"
needs: [generate-new-tag]
<<: *build_package
.update_repo_rdep: &update_repo_rdep
rules:
- if: $FROM_RDEPENDS_CI == "true"
needs: [build-package-rdep]
<<: *update_repo
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment