Skip to content

Commit

Permalink
feat(python): pyenv manager (#10128)
Browse files Browse the repository at this point in the history
  • Loading branch information
caiofbpa committed Jun 1, 2021
1 parent 235075d commit 0534aea
Show file tree
Hide file tree
Showing 6 changed files with 75 additions and 0 deletions.
2 changes: 2 additions & 0 deletions lib/manager/api.ts
Expand Up @@ -49,6 +49,7 @@ import * as pipenv from './pipenv';
import * as poetry from './poetry';
import * as preCommit from './pre-commit';
import * as pub from './pub';
import * as pyenv from './pyenv';
import * as regex from './regex';
import * as rubyVersion from './ruby-version';
import * as sbt from './sbt';
Expand Down Expand Up @@ -115,6 +116,7 @@ api.set('pipenv', pipenv);
api.set('poetry', poetry);
api.set('pre-commit', preCommit);
api.set('pub', pub);
api.set('pyenv', pyenv);
api.set('regex', regex);
api.set('ruby-version', rubyVersion);
api.set('sbt', sbt);
Expand Down
31 changes: 31 additions & 0 deletions lib/manager/pyenv/__snapshots__/extract.spec.ts.snap
@@ -0,0 +1,31 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`manager/pyenv/extract extractPackageFile() returns a result 1`] = `
Array [
Object {
"currentValue": "3.7.1",
"datasource": "docker",
"depName": "python",
},
]
`;

exports[`manager/pyenv/extract extractPackageFile() skips non ranges 1`] = `
Array [
Object {
"currentValue": "latestn",
"datasource": "docker",
"depName": "python",
},
]
`;

exports[`manager/pyenv/extract extractPackageFile() supports ranges 1`] = `
Array [
Object {
"currentValue": "3.8",
"datasource": "docker",
"depName": "python",
},
]
`;
19 changes: 19 additions & 0 deletions lib/manager/pyenv/extract.spec.ts
@@ -0,0 +1,19 @@
import { getName } from '../../../test/util';
import { extractPackageFile } from './extract';

describe(getName(), () => {
describe('extractPackageFile()', () => {
it('returns a result', () => {
const res = extractPackageFile('3.7.1\n');
expect(res.deps).toMatchSnapshot();
});
it('supports ranges', () => {
const res = extractPackageFile('3.8\n');
expect(res.deps).toMatchSnapshot();
});
it('skips non ranges', () => {
const res = extractPackageFile('latestn');
expect(res.deps).toMatchSnapshot();
});
});
});
11 changes: 11 additions & 0 deletions lib/manager/pyenv/extract.ts
@@ -0,0 +1,11 @@
import * as datasourceDocker from '../../datasource/docker';
import type { PackageDependency, PackageFile } from '../types';

export function extractPackageFile(content: string): PackageFile {
const dep: PackageDependency = {
depName: 'python',
currentValue: content.trim(),
datasource: datasourceDocker.id,
};
return { deps: [dep] };
}
11 changes: 11 additions & 0 deletions lib/manager/pyenv/index.ts
@@ -0,0 +1,11 @@
import { LANGUAGE_PYTHON } from '../../constants/languages';
import * as dockerVersioning from '../../versioning/docker';

export { extractPackageFile } from './extract';

export const language = LANGUAGE_PYTHON;

export const defaultConfig = {
fileMatch: ['(^|/).python-version$'],
versioning: dockerVersioning.id,
};
1 change: 1 addition & 0 deletions lib/manager/pyenv/readme.md
@@ -0,0 +1 @@
Simply keeps the `.python-version` file updated.

0 comments on commit 0534aea

Please sign in to comment.