Skip to main content

Trigger builds of snaps and ubuntu imagesthrough the launchpad API.

Project description

canonicalwebteam.launchpad

Classes for triggering builds of snaps and Ubuntu images through the Launchpad API.

Usage

SnapBuilder

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")

ImageBuilder

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"]
)

Test fixtures

Tests check calls against fixtures representing the Launchpad API. These fixtures are generated using vcrpy, based on real calls to the API when the test was first run.

To new tests that rely on new API responses, or if we need to regenerate existing fixtures because the API has changed, the secrets need to be provided to authenticate with the API as follows:

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

canonicalwebteam.launchpad-0.7.3.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

canonicalwebteam.launchpad-0.7.3-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

Details for the file canonicalwebteam.launchpad-0.7.3.tar.gz.

File metadata

  • Download URL: canonicalwebteam.launchpad-0.7.3.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7

File hashes

Hashes for canonicalwebteam.launchpad-0.7.3.tar.gz
Algorithm Hash digest
SHA256 d953415d85a86fe7a3e62b6ffc4d0a82038ba6221097e5bbdab32161bb668f06
MD5 b72341b8d5d38d0e2feb8b92401e71a5
BLAKE2b-256 64a34a0ebf6c3188c814223868821514195452c83e52821ad649b6db4e9f3100

See more details on using hashes here.

File details

Details for the file canonicalwebteam.launchpad-0.7.3-py3-none-any.whl.

File metadata

  • Download URL: canonicalwebteam.launchpad-0.7.3-py3-none-any.whl
  • Upload date:
  • Size: 10.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7

File hashes

Hashes for canonicalwebteam.launchpad-0.7.3-py3-none-any.whl
Algorithm Hash digest
SHA256 0dd69781e42008698590e8a2e959bbe73ac71004e31ff99a0bb55272bbe67202
MD5 717bad28161be3df07f0554afca69a65
BLAKE2b-256 632fd0ea3aa37431ba65f42957607627fa9cad8cd1fbae3d3133edcc050d5ce8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page