canonicalwebteam.launchpad
version
Classes para acionar construções de snaps e imagens do Ubuntu através da API Launchpad.
Para o desenvolvimento local, é melhor testar este módulo com um de nossos projetos de site como o Ubuntu.com. Para mais informações, siga este guia (somente interno).
from canonicalwebteam . launchpad import SnapBuilder
snap_builder = SnapBuilder (
username = "build.snapcraft.io" ,
token = os . getenv ( "SNAP_BUILDER_TOKEN" ),
secret = os . getenv ( "SNAP_BUILDER_SECRET" ),
)
snap_name = "new-test-snap"
git_repo = "https://github.com/build-staging-snapcraft-io/test1"
snap_builder . create_snap ( snap_name , git_repo )
new_snap = snap_builder . get_snap_by_store_name ( "new-test-snap" ) from canonicalwebteam . launchpad import ImageBuilder
image_builder = ImageBuilder (
username = "image.build" ,
token = os . getenv ( "IMAGE_BUILDER_TOKEN" ),
secret = os . getenv ( "IMAGE_BUILDER_SECRET" ),
)
image_builder . build_image (
board = "cm3" , system = "core16" , snaps = [ "code" , "toto" ]
)Testes Verifique as chamadas contra acessórios que representam a API de Launchpad. Esses acessórios são gerados usando o VCRPY, com base em chamadas reais para a API quando o teste foi executado pela primeira vez.
Para novos testes que dependem de novas respostas da API, ou se precisarmos regenerar os equipamentos existentes porque a API mudou, os segredos precisam ser fornecidos para autenticar com a API da seguinte maneira:
export SNAP_BUILDER_TOKEN={token}
export SNAP_BUILDER_SECRET={secret}
export IMAGE_BUILDER_TOKEN={token}
export IMAGE_BUILDER_SECRET={secret}
rm tests/cassettes/... # Remove any fixtures you need to regenerate
./setup.py test # Run tests again to regenerate fixtures