Skip to content

Adicionar job no .gitlab-ci.yml dos pacotes para publicar pacotes no repositório stable

Serão dois novos jobs no .gitlab-ci.yml:

  • build_for_stable: Esse job será igual ao atual build, porém ele deve antes substituir o valor testing por stable no arquivo package/debian/changelog em todas as entradas.

  • deploy_to_production: Esse job extra deve ser manual, ou seja, o administrador do repositório git deve clicar em um botão no gitlab para que ele seja publicado no stable do repositório debian (veja manual do gitlab-ci. Ele irá fazer o deploy dos artefatos gerados no build_for_stable, rodando o mesmo comando do atual job de nome deploy (alterando, portanto, apenas o dependencies.

Outras mudanças necessárias:

  • Substituir nome do job build para build_for_testing (lembrar de ajustar campo dependencies nos jobs correspondentes).
  • Substituir nome do job deploy para deploy_to_testing.
  • Como vai existir repetição de código em build_for_testing e build_for_stable, considerar a criação de um script na raiz do repositório com o código abaixo (pode ser levemente diferente para cada repositório):
LINE=$(head -n 1 package/debian/changelog)
PACKAGE=$(echo $LINE | cut -d' ' -f1)
VERSION=$(echo $LINE | cut -d' ' -f2 | grep -o -E '[0-9]*\.[0-9]*\.[0-9]*')
tar --exclude=debian -czf ${PACKAGE}_${VERSION}.orig.tar.gz package/*
cd package 
debuild -us -uc
cd ../
mkdir build/
mv ${PACKAGE}* build/

Efetuar alterações acima mencionadas em todos os pacotes do LE e marcar abaixo quando pronto:

  • le-autoupgrade
  • le-all
  • le-live-all
  • le-interface
  • le-user-apps
  • le-sys-apps
  • le-conf
  • le-lab
  • le-epoptes
  • ubiquity
  • le-edubar
  • le6-gtk-theme
  • le-control-panel
  • dash-to-dock
  • ubiquity-slideshow-le

Para cada pacote, crie um branch issue/230 e solicite merge request para o master, mencionando essa tarefa no commit (exemplo: SCRUM#230: add job on .gitlab-ci.yml to deploy package to stable repository.

Edited by Luan Varaschim Welter