canonicalwebteam.launchpad
version
Classes pour déclencher des constructions de snaps et d'images Ubuntu via l'API LaunchPad.
Pour le développement local, il est préférable de tester ce module avec l'un de nos projets de site Web comme ubuntu.com. Pour plus d'informations, suivez ce guide (interne uniquement).
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" ]
)Tests Vérifiez les appels par rapport aux luminaires représentant l'API LaunchPad. Ces luminaires sont générés à l'aide de VCRPY, sur la base d'appels réels à l'API lorsque le test a été exécuté pour la première fois.
Aux nouveaux tests qui reposent sur de nouvelles réponses de l'API, ou si nous devons régénérer les luminaires existants car l'API a changé, les secrets doivent être fournis pour s'authentifier avec l'API comme suit:
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