Newer
Older
## Template para empacotamento utilizando o Gitlab-ci.
stages:
- build
- test
- deploy
lint_shell:
stage: lint
tags:
- debian-packaging
script:
- ./.linter_shell.sh
build:
stage: build
artifacts:
paths:
- build/
tags:
- debian-packaging
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
dependencies:
- build
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