/rockcraft

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Rockcraft

Snap Status Documentation Status

Purpose

Tool to create OCI Images using the language from Snapcraft and Charmcraft.

Installing

Install Rockcraft from the Snap Store

Get it from the Snap Store

Documentation

Documentation on the usage of the tool and tutorials can be found on https://canonical-rockcraft.readthedocs-hosted.com/

Testing

In addition to unit tests in tests/unit, which can be run with make test-units, a number of integrated tests in tests/spread can be run with Spread. See the general notes and take note of these rockcraft-specific instructions:

  • Initialize/update git submodules to fetch Spread-related helper scripts:

    $ git submodule init
    $ git submodule update
    
  • Spread needs a rockcraft snap in order to run. Create one with snapcraft via:

    $ snapcraft --use-lxd
    $ cp <generated snap> tests/
    
  • Run Spread:

    $ spread tests/spread
    # Or run a specific test
    $ spread tests/spread/tutorials/basic
    # Use "-v" for verbose, and "-debug" to get a shell if the test fails
    $ spread -v -debug tests/spread/tutorials/basic