summaryrefslogtreecommitdiff
path: root/blubber.example.yaml
diff options
context:
space:
mode:
authorDan Duvall <dduvall@wikimedia.org>2018-02-13 12:30:27 -0800
committerDan Duvall <dduvall@wikimedia.org>2018-03-06 10:21:15 -0800
commit6896e655eb5cc88b90e66979bc2d862eb92cbb9f (patch)
tree44b5f72b56a73e7c7aa661fc27413e5c3326b313 /blubber.example.yaml
parentb790283b431af7462324bdd26ab948c42c943915 (diff)
downloadblubber-6896e655eb5cc88b90e66979bc2d862eb92cbb9f.tar.gz
Support Python projects
Summary: A new root and variant `python` config field is provided with two new fields below, `version` and `requirements`. The former, `version`, should specify the Python executable to use when executing related package installation commands and ostensibly the same executable that will be used to run the application. The latter, `requirements`, should specify all pip requirements files such that a compiler that supports layered filesystems (e.g. Docker) can output separate instructions that will invalidate cache layers for changes to those files independently of changes to the rest of the codebase. Python related instructions will be generated only if either `version` or `requirements` are given. Fixes T186545 Test Plan: Run `go test ./...`. Reviewers: thcipriani, hashar, demon, #release-engineering-team Reviewed By: thcipriani, #release-engineering-team Tags: #release-engineering-team Maniphest Tasks: T186545 Differential Revision: https://phabricator.wikimedia.org/D976
Diffstat (limited to 'blubber.example.yaml')
-rw-r--r--blubber.example.yaml6
1 files changed, 6 insertions, 0 deletions
diff --git a/blubber.example.yaml b/blubber.example.yaml
index 07e1a86..5dc7233 100644
--- a/blubber.example.yaml
+++ b/blubber.example.yaml
@@ -2,6 +2,8 @@
base: debian:jessie
apt:
packages: [libjpeg, libyaml]
+python:
+ version: python2.7
runs:
environment:
FOO: bar
@@ -13,6 +15,8 @@ variants:
packages: [libjpeg-dev, libyaml-dev]
node:
dependencies: true
+ python:
+ requirements: [requirements.txt]
development:
includes: [build]
@@ -22,6 +26,8 @@ variants:
includes: [build]
apt:
packages: [chromium]
+ python:
+ requirements: [requirements.txt, test-requirements.txt, docs/requirements.txt]
entrypoint: [npm, test]
prep: