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.8.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

File details

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

File metadata

  • Download URL: canonicalwebteam.launchpad-0.7.8.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.7.9

File hashes

Hashes for canonicalwebteam.launchpad-0.7.8.tar.gz
Algorithm Hash digest
SHA256 93acfee228808eef26b278b7aa28a6a211cbbb0e06a25219a60d38864fbf419a
MD5 681e8028eaf05dfa2d277fae71e24153
BLAKE2b-256 1b9a9bb380b769476799935ecf9eb9ed58d90eb5eca1f0f35d362b847e2f077d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: canonicalwebteam.launchpad-0.7.8-py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.7.9

File hashes

Hashes for canonicalwebteam.launchpad-0.7.8-py3-none-any.whl
Algorithm Hash digest
SHA256 80a036a702d87795f31482b8a72eb3179b073b3a7919bbb1c0984687fb2b1189
MD5 3e494ab28e852c379883e779bdac53fc
BLAKE2b-256 47913d2ae346ec0dd6d820fa1be3c977b01ff785bd65127e3f9140a173a9ba07

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