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

Uploaded Source

Built Distribution

File details

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

File metadata

  • Download URL: canonicalwebteam.launchpad-0.6.0.tar.gz
  • Upload date:
  • Size: 5.4 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.45.0 CPython/3.7.7

File hashes

Hashes for canonicalwebteam.launchpad-0.6.0.tar.gz
Algorithm Hash digest
SHA256 798ce6c6765e8e689efb15cd74d356e6927567b745e6c096eff5aa79fa9d9bb6
MD5 a072b1c5dfca225dbeaae8eebc095140
BLAKE2b-256 f9859385968328ad6c6e754e4674e26a3e8984e75cfc981b7eb885b210eac883

See more details on using hashes here.

File details

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

File metadata

  • Download URL: canonicalwebteam.launchpad-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 9.7 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.45.0 CPython/3.7.7

File hashes

Hashes for canonicalwebteam.launchpad-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 39ad51a1a1402fca9fa5b1516a47c4822cbe05dfe3fa189a08ffe6551c053b4b
MD5 4a2e43cf326d1c01e96e0a9181e2a3d7
BLAKE2b-256 355d9ccba15e19767f5f463654a81a3d08f3003b93fe0329174670460cac2cc6

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