Skip to content

timsueberkrueb/baka

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Baka

Python tool and library for continuous, clean builds. Baka was primarily designed to be used in combination with Snapcraft.

Dependencies

  • Python >= 3.5
    • with all modules listed as install_requires in setup.py
  • One of the following backends:

Install

cd baka/
python3 setup.py install

Usage

Note: Baka is work in progress. API and supported features are subject to change without notice.

Create a baka.yml file.

name: test-project
summary: Test project
description: A test project
environment:
  scripts:  # Use Python scripts to setup the build environment
    setup: |
      baka = require('baka', '0.1.0')
      print("setup")
      # Execute commands inside the build container
      baka.box.run("touch", "/home/baka/environment_setup")
jobs:
  - name: my-job
    extends: base  # You can use pre-defined jobs (e.g. snapcraft)
    source: .
    scripts:
      setup: |  # Run optional scripts for all build steps
        print("setup")
      perform: |
        baka = require('baka', '0.1.0')
        print("perform")
        baka.box.run("touch", "/home/baka/job_perform")
      finish: |
        baka = require('baka', '0.1.0')
        print("finish")
        baka.box.run("touch", "/home/baka/job_finish")

Use the baka tool to run all jobs

cd my-project/
baka   # See baka --help

License

Licensed under the terms of the MIT license.

Releases

No releases published

Packages

No packages published

Languages