Skip to content
Snippets Groups Projects
.gitlab-industrial-ci-kinetic-with-rosinstall.yml 4.00 KiB
image: docker:git

variables:
  TMPDIR: "/builds/${CI_PROJECT_NAMESPACE}"
  GIT_LFS_SKIP_SMUDGE: "1" # Avoid fetching the files from LFS when doing git fetch

services:
  - docker:dind

stages:
  - precheck
  - build
  - postcheck

before_script:
  - apk add --update bash coreutils tar wget python

.industrial_ci_kinetic:
  stage: build
  before_script:
    - apk add --update bash coreutils tar
    - git clone https://github.com/ros-industrial/industrial_ci.git .ci_config
    - docker login ${ARTIFACT_DOCKER_URL} -u ${ARTIFACT_CI_USER} -p ${ARTIFACT_CI_TOKEN}
  script: .ci_config/gitlab.sh
  variables:
    ROS_DISTRO: kinetic
    ROS_PARALLEL_JOBS: "-j2" # keep this for now, since there seems to be memory limit issues in the ci VM
    UPSTREAM_WORKSPACE: file
    ROSINSTALL_FILENAME: ".rosinstall"
    DOCKER_IMAGE: "${ARTIFACT_DOCKER_URL}/flexbotics-base-devel"
    BEFORE_SCRIPT: "wget -q -O - https://git.code.tecnalia.com/tecnalia_robotics-public/gitlab_templates/raw/master/scripts/ci_run_entry_points.sh | bash"
    CATKIN_CONFIG: '--cmake-args -DCMAKE_CXX_FLAGS=-Wno-ignored-attributes -Wno-int-in-bool-context --'
  when: always

industrial_ci_kinetic:
  extends: .industrial_ci_kinetic
  except:
    - tags

industrial_ci_kinetic_deploy:
  extends: .industrial_ci_kinetic
  variables:
    AFTER_SCRIPT: "wget -q -O - https://git.code.tecnalia.com/tecnalia_robotics-public/gitlab_templates/raw/deploy-image-build/scripts/pre-deploy-cleanup.bash | bash"
    DOCKER_COMMIT: industrial_ci_image
  after_script:
    - cd $(mktemp -d)
    - wget https://git.code.tecnalia.com/tecnalia_robotics-public/gitlab_templates/raw/deploy-image-build/deploy/Dockerfile
    - wget https://git.code.tecnalia.com/tecnalia_robotics-public/gitlab_templates/raw/deploy-image-build/deploy/ros_entrypoint.bash
    - docker build -t ${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME} .
    - docker push ${CI_PROJECT_NAME}:${CI_COMMIT_REF_NAME}
  only:
    - tags

##########################################################
## Simple check for basic Python syntax errors; this is much less thorough than
## other options like pylint, but much faster and less strict
##########################################################
python_syntax:
  stage: precheck
  script: python -m compileall -q .
  when: always

##########################################################
## Check for errors in bash/sh scripts
## Uses https://github.com/cytopia/awesome-ci
##########################################################
bash_syntax:
  stage: postcheck
  script:
    - RET=0