canonicalwebteam.launchpad
version
Занятия для запуска сборки снимков и изображений Ubuntu через API LaunchPad.
Для местной разработки лучше всего проверить этот модуль с одним из наших веб -проектов, таких как Ubuntu.com. Для получения дополнительной информации следуйте этому руководству (только внутреннее).
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" ]
)Тесты проверяют вызовы на светильниках, представляющих API Launchpad. Эти приспособления генерируются с использованием vcrpy, основанные на реальных вызовах API при первом запуске теста.
Для новых тестов, которые полагаются на новые ответы API, или если нам нужно регенерировать существующие приспособления, поскольку API изменился, необходимо предоставить секреты для аутентификации с API следующим образом:
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