Skip to content
Snippets Groups Projects
Commit ff19fb44 authored by Maximilian Gaß's avatar Maximilian Gaß Committed by Rhys Arkins
Browse files

fix(kubernetes): Fix updating of image in YAML array (#2435)

Follow up to #2434, this lets Renovate actually update those image lines
parent 265f796e
No related merge requests found
......@@ -10,7 +10,7 @@ function updateDependency(fileContent, upgrade) {
logger.debug(`kubernetes.updateDependency(): ${newFrom}`);
const lines = fileContent.split('\n');
const lineToChange = lines[upgrade.lineNumber];
const imageLine = new RegExp(/^(\s*image:\s*'?"?)[^\s'"]+('?"?\s*)$/);
const imageLine = new RegExp(/^(\s*-?\s*image:\s*'?"?)[^\s'"]+('?"?\s*)$/);
if (!lineToChange.match(imageLine)) {
logger.debug('No image line found');
return null;
......
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`manager/kubernetes/update updateDependency replaces image inside YAML array 1`] = `
"apiVersion: apps/v1
kind: DaemonSet
metadata:
name: local-volume-provisioner
namespace: kube-system
labels:
app: local-volume-provisioner
spec:
selector:
matchLabels:
app: local-volume-provisioner
template:
spec:
containers:
- image: \\"quay.io/external_storage/local-volume-provisioner:v2.2.0\\"
name: provisioner
"
`;
......@@ -6,6 +6,11 @@ const yamlFile = fs.readFileSync(
'utf8'
);
const arraySyntaxFile = fs.readFileSync(
'test/_fixtures/kubernetes/array-syntax.yaml',
'utf8'
);
describe('manager/kubernetes/update', () => {
describe('updateDependency', () => {
it('replaces existing value', () => {
......@@ -41,5 +46,16 @@ describe('manager/kubernetes/update', () => {
const res = dcUpdate.updateDependency(null, null);
expect(res).toBe(null);
});
it('replaces image inside YAML array', () => {
const upgrade = {
lineNumber: 14,
dockerRegistry: 'quay.io',
depName: 'external_storage/local-volume-provisioner',
newValue: 'v2.2.0',
};
const res = dcUpdate.updateDependency(arraySyntaxFile, upgrade);
expect(res).not.toEqual(arraySyntaxFile);
expect(res).toMatchSnapshot();
});
});
});
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment