Skip to content
Snippets Groups Projects
.gitlab-ci.yml 2.53 KiB
Newer Older
## Template para empacotamento utilizando o Gitlab-ci.

stages:
    - lint
lint_shell:
  stage: lint
  tags:
    - debian-packaging
  script:
    - ./.linter_shell.sh

build:
  stage: build
  artifacts:
    paths:
      - build/
  tags:
  script:
    - ./.build.sh

test:
  stage: test
  tags:
    - ubuntu
    - regular
  script:
    # TODO: find a way to get the dependencies automatically
    - apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y locales language-pack-gnome-pt language-pack-pt-base wget
    - wget -O- http://repo.c3sl.ufpr.br/le6/le.c3sl.ufpr.br.key | apt-key add -
    - echo "deb http://repo.c3sl.ufpr.br/le6/ testing main" > /etc/apt/sources.list.d/le6.list && apt-get update
    - locale-gen pt_BR.UTF-8
    - export LANG=pt_BR.UTF-8
    - echo "Installation test:"
    - apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -y install $(pwd)/build/*.deb
    - echo "Removal test:"
    - pkg_name=$(dpkg -I $(pwd)/build/*.deb | grep Package | head -1 | cut -d ':' -f2)
    - DEBIAN_FRONTEND=noninteractive apt -y remove $pkg_name
    - echo "Getting latest stable package from repo..."
    - DEBIAN_FRONTEND=noninteractive apt-get -y install wget
    - wget http://repo.c3sl.ufpr.br/le6/dists/stable/main/binary-amd64/Packages
    - wget http://repo.c3sl.ufpr.br/le6/$(tail -n +$(grep -n "Package:${pkg_name}" Packages | cut -d ":" -f1) Packages | grep "Filename" | head -1 |cut -d " " -f2)
    - echo "Update test:"
    - DEBIAN_FRONTEND=noninteractive apt-get -y install $(pwd)/*.deb
    - DEBIAN_FRONTEND=noninteractive apt-get -y install $(pwd)/build/*.deb
    - echo "Downgrade test:"
    - DEBIAN_FRONTEND=noninteractive apt-get -y --allow-downgrades install $(pwd)/*.deb
  dependencies:
    - build

deploy_for_unstable:
  stage: deploy
  only:
      - develop
  tags:
    - debian-packaging
  script:
    - ./.deploy.sh
deploy_for_unstable:
  stage: deploy
  only:
      - develop
  tags:
    - debian-packaging
  script:
    - ./.deploy.sh
  dependencies:
    - build

deploy_for_unstable:
  stage: deploy
  only:
      - develop
  tags:
    - debian-packaging
  script:
    - ./.deploy.sh
  dependencies:
    - build

deploy_for_testing:
  stage: deploy
  only:
      - master
  tags:
    - debian-packaging
  script:
    - ./.deploy.sh
  dependencies:
    - build

deploy_for_stable:
  stage: deploy
  when: manual
  only:
      - master
  tags:
    - debian-packaging
  script:
    - ./.deploy.sh
  dependencies:
    - build