HomePhabricator

Support Python projects

Description

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

Details

Provenance
dduvallAuthored on Feb 13 2018, 8:30 PM
Reviewer
Release-Engineering-Team
Differential Revision
D976: Support Python projects
Parents
rGBLBRb790283b431a: Makefile: install to global GOPATH with correct -ldflags
Branches
Unknown
Tags
Unknown
Tasks
T186545: Blubber should support python/tox
ChangeId
None