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 valortestingporstableno arquivopackage/debian/changelogem 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 nomedeploy(alterando, portanto, apenas odependencies.
Outras mudanças necessárias:
- Substituir nome do job
buildparabuild_for_testing(lembrar de ajustar campodependenciesnos jobs correspondentes). - Substituir nome do job
deployparadeploy_to_testing. - Como vai existir repetição de código em
build_for_testingebuild_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.