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

Uploaded Source

Built Distribution

File details

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

File metadata

  • Download URL: canonicalwebteam.launchpad-0.7.1.tar.gz
  • Upload date:
  • Size: 5.3 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.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7

File hashes

Hashes for canonicalwebteam.launchpad-0.7.1.tar.gz
Algorithm Hash digest
SHA256 6828ac390029d294e04adfc1b61050d8f375c96de62ee710e107a75ec4d615f2
MD5 8bb66d1427deb4c43e1bee6de63e910e
BLAKE2b-256 ea2acc06245ff4390eaf534de00b10e33046984ef374823f121d81b4c3b5eab2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: canonicalwebteam.launchpad-0.7.1-py3-none-any.whl
  • Upload date:
  • Size: 9.6 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.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7

File hashes

Hashes for canonicalwebteam.launchpad-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 872719b11ee77ae13b87877ea330fe5037d307bfc9cee117bd3d86ca72854256
MD5 6679545b59aef91e28749ea957f16025
BLAKE2b-256 f8744566e50b904000e1a354fe99967b2857ee48066149208e7cb9188e5e4b8c

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