diff --git a/lib/modules/manager/buildkite/__fixtures__/pipeline1.yml b/lib/modules/manager/buildkite/__fixtures__/pipeline1.yml deleted file mode 100644 index c3876cbf02d36836148c7a86bff1bc5ffe72c695..0000000000000000000000000000000000000000 --- a/lib/modules/manager/buildkite/__fixtures__/pipeline1.yml +++ /dev/null @@ -1,3 +0,0 @@ -steps: - - plugins: - abc/detect-clowns#v2.0.0: ~ diff --git a/lib/modules/manager/buildkite/__fixtures__/pipeline2.yml b/lib/modules/manager/buildkite/__fixtures__/pipeline2.yml deleted file mode 100644 index 8f2a0c889803305400008d12b92f718abcf0c298..0000000000000000000000000000000000000000 --- a/lib/modules/manager/buildkite/__fixtures__/pipeline2.yml +++ /dev/null @@ -1,17 +0,0 @@ -steps: - # Prebuild the app image, upload it to a registry for later steps - - name: "Docker Build" - plugins: - docker-compose#v1.3.2: # Comment at the end.... - build: app - image-repository: index.docker.io/org/repo - - - wait - - # Use the app image built above to run concurrent tests - - name: "Docker Test %n" - command: test.sh - parallelism: 25 - plugins: - docker-compose#v1.3.2: - run: app diff --git a/lib/modules/manager/buildkite/__fixtures__/pipeline3.yml b/lib/modules/manager/buildkite/__fixtures__/pipeline3.yml deleted file mode 100644 index fe34280996ec19a6ea42d5a3d975eee1273808ff..0000000000000000000000000000000000000000 --- a/lib/modules/manager/buildkite/__fixtures__/pipeline3.yml +++ /dev/null @@ -1,16 +0,0 @@ -steps: - # Prebuild the app image, upload it to a registry for later steps - - name: "Docker Build" - plugins: - namespace/docker-compose#v1.3.2.5: - build: app - image-repository: index.docker.io/org/repo - - - wait - - - name: "wrong" - command: test.sh - parallelism: 25 - plugins: - github.com/buildkite/plugin-docker-compose#v1.3.2: - run: app diff --git a/lib/modules/manager/buildkite/__fixtures__/pipeline4.yml b/lib/modules/manager/buildkite/__fixtures__/pipeline4.yml deleted file mode 100644 index 5399edbce33f0a80d4c69227ea22cb16879a6006..0000000000000000000000000000000000000000 --- a/lib/modules/manager/buildkite/__fixtures__/pipeline4.yml +++ /dev/null @@ -1,14 +0,0 @@ -steps: - - plugins: - - docker-login#v2.0.1: - username: xyz - - docker-compose#v2.5.1: - build: app - image-repository: index.docker.io/myorg/myrepo - - wait - - command: test.sh - plugins: - - docker-login#v2.0.1: - username: xyz - - docker-compose#v2.5.1: - run: app diff --git a/lib/modules/manager/buildkite/__fixtures__/pipeline5.yml b/lib/modules/manager/buildkite/__fixtures__/pipeline5.yml deleted file mode 100644 index c8876504a0155302deed3f5349ad877dba052f17..0000000000000000000000000000000000000000 --- a/lib/modules/manager/buildkite/__fixtures__/pipeline5.yml +++ /dev/null @@ -1,6 +0,0 @@ -steps: - - plugins: - - ssh://git@github.company.com/some-org/some-plugin#v3.2.7: - username: abc - - https://github.company.com/some-third-org/some-third-plugin#v0.0.1: - build: app diff --git a/lib/modules/manager/buildkite/__fixtures__/pipeline6.yml b/lib/modules/manager/buildkite/__fixtures__/pipeline6.yml deleted file mode 100644 index d5a14955c740cf16fedd2f1ee42c3cba1afe8a26..0000000000000000000000000000000000000000 --- a/lib/modules/manager/buildkite/__fixtures__/pipeline6.yml +++ /dev/null @@ -1,4 +0,0 @@ -steps: - - plugins: - - ssh://git@github.company.com/some-org/some-plugin.git#v3.2.7: - username: abc diff --git a/lib/modules/manager/buildkite/__fixtures__/pipeline7.yml b/lib/modules/manager/buildkite/__fixtures__/pipeline7.yml deleted file mode 100644 index 45d64a26524ae41496f2a0fd2b3079f8477f0646..0000000000000000000000000000000000000000 --- a/lib/modules/manager/buildkite/__fixtures__/pipeline7.yml +++ /dev/null @@ -1,8 +0,0 @@ -.docker-options: &some-options - propagate-environment: true - copy-checkout: true - -.python3-container: &python3-container - ssh://git@github.some-domain.com/some-org/some-plugin#v3.2.7: - some-config: some-value - <<: *some-options diff --git a/lib/modules/manager/buildkite/__fixtures__/pipeline8.yml b/lib/modules/manager/buildkite/__fixtures__/pipeline8.yml deleted file mode 100644 index a5d57559c62910144766d900207e86376f7c30a7..0000000000000000000000000000000000000000 --- a/lib/modules/manager/buildkite/__fixtures__/pipeline8.yml +++ /dev/null @@ -1,4 +0,0 @@ -steps: - - plugins: - - ? ssh://git@github.company.com/some-org/some-plugin.git#v3.2.7 - : enforce_peer_deps: false diff --git a/lib/modules/manager/buildkite/__fixtures__/pipeline9.yml b/lib/modules/manager/buildkite/__fixtures__/pipeline9.yml deleted file mode 100644 index 8baccb383c01c9374b08c3be07fca6d44ab02ad9..0000000000000000000000000000000000000000 --- a/lib/modules/manager/buildkite/__fixtures__/pipeline9.yml +++ /dev/null @@ -1,4 +0,0 @@ -steps: - - plugins: - - ssh://git@bitbucket.org/some-org/some-plugin.git#v3.2.7: - - docker-compose#v1.3.2: diff --git a/lib/modules/manager/buildkite/extract.spec.ts b/lib/modules/manager/buildkite/extract.spec.ts index 1fbcc9f10592046897fcd2e422ccb99add17ae2c..812e02390fbbe41f2a6261ce2309b3dc3088e921 100644 --- a/lib/modules/manager/buildkite/extract.spec.ts +++ b/lib/modules/manager/buildkite/extract.spec.ts @@ -1,4 +1,4 @@ -import { Fixtures } from '../../../../test/fixtures'; +import { codeBlock } from 'common-tags'; import type { PackageDependency } from '../types'; import { extractPackageFile } from '.'; @@ -9,31 +9,95 @@ describe('modules/manager/buildkite/extract', () => { }); it('extracts simple single plugin', () => { - const res = extractPackageFile(Fixtures.get('pipeline1.yml'))?.deps; + const fileContent = codeBlock` + steps: + - plugins: + abc/detect-clowns#v2.0.0: ~ + `; + const res = extractPackageFile(fileContent)?.deps; expect(res).toMatchSnapshot(); expect(res).toHaveLength(1); }); it('extracts multiple plugins in same file', () => { - const res = extractPackageFile(Fixtures.get('pipeline2.yml'))?.deps; + const fileContent = codeBlock` + steps: + # Prebuild the app image, upload it to a registry for later steps + - name: "Docker Build" + plugins: + docker-compose#v1.3.2: # Comment at the end.... + build: app + image-repository: index.docker.io/org/repo + + - wait + + # Use the app image built above to run concurrent tests + - name: "Docker Test %n" + command: test.sh + parallelism: 25 + plugins: + docker-compose#v1.3.2: + run: app + `; + const res = extractPackageFile(fileContent)?.deps; expect(res).toMatchSnapshot(); expect(res).toHaveLength(2); }); it('adds skipReason', () => { - const res = extractPackageFile(Fixtures.get('pipeline3.yml'))?.deps; + const fileContent = codeBlock` + steps: + - name: "Docker Build" + plugins: + namespace/docker-compose#v1.3.2.5: + build: app + image-repository: index.docker.io/org/repo + + - wait + + - name: "wrong" + command: test.sh + parallelism: 25 + plugins: + github.com/buildkite/plugin-docker-compose#v1.3.2: + run: app + `; + const res = extractPackageFile(fileContent)?.deps; expect(res).toMatchSnapshot(); expect(res).toHaveLength(2); }); it('extracts arrays of plugins', () => { - const res = extractPackageFile(Fixtures.get('pipeline4.yml'))?.deps; + const fileContent = codeBlock` + steps: + - plugins: + - docker-login#v2.0.1: + username: xyz + - docker-compose#v2.5.1: + build: app + image-repository: index.docker.io/myorg/myrepo + - wait + - command: test.sh + plugins: + - docker-login#v2.0.1: + username: xyz + - docker-compose#v2.5.1: + run: app + `; + const res = extractPackageFile(fileContent)?.deps; expect(res).toMatchSnapshot(); expect(res).toHaveLength(4); }); it('extracts git-based plugins', () => { - const res = extractPackageFile(Fixtures.get('pipeline5.yml'))?.deps; + const fileContent = codeBlock` + steps: + - ssh://git@github.company.com/some-org/some-plugin#v3.2.7: + username: abc + - https://github.company.com/some-third-org/some-third-plugin#v0.0.1: + build: app + `; + const res = extractPackageFile(fileContent)?.deps; expect(res).toMatchSnapshot(); expect(res).toHaveLength(2); }); @@ -45,13 +109,25 @@ describe('modules/manager/buildkite/extract', () => { depName: 'some-org/some-plugin', registryUrls: ['https://github.company.com'], }; - const res = extractPackageFile(Fixtures.get('pipeline6.yml'))?.deps; + const fileContent = codeBlock` + steps: + - ssh://git@github.company.com/some-org/some-plugin.git#v3.2.7: + `; + const res = extractPackageFile(fileContent)?.deps; expect(res).toHaveLength(1); expect(res).toEqual([expectedPackageDependency]); }); it('extracts plugins outside plugins sections', () => { - const res = extractPackageFile(Fixtures.get('pipeline7.yml'))?.deps; + const fileContent = codeBlock` + .docker-options: &some-options + copy-checkout: true + .python3-container: &python3-container + ssh://git@github.some-domain.com/some-org/some-plugin#v3.2.7: + some-config: some-value + <<: *some-options + `; + const res = extractPackageFile(fileContent)?.deps; const expectedPackageDependency: PackageDependency = { currentValue: 'v3.2.7', datasource: 'github-tags', @@ -62,7 +138,11 @@ describe('modules/manager/buildkite/extract', () => { }); it('extracts plugin with preceding ?', () => { - const res = extractPackageFile(Fixtures.get('pipeline8.yml'))?.deps; + const fileContent = codeBlock` + steps: + - ? ssh://git@github.company.com/some-org/some-plugin.git#v3.2.7 + `; + const res = extractPackageFile(fileContent)?.deps; const expectedPackageDependency: PackageDependency = { currentValue: 'v3.2.7', datasource: 'github-tags', @@ -73,7 +153,13 @@ describe('modules/manager/buildkite/extract', () => { }); it('extracts plugin tags from bitbucket', () => { - const res = extractPackageFile(Fixtures.get('pipeline9.yml'))?.deps; + const fileContent = codeBlock` + steps: + - plugins: + - ssh://git@bitbucket.org/some-org/some-plugin.git#v3.2.7: + - docker-compose#v1.3.2: + `; + const res = extractPackageFile(fileContent)?.deps; const githubDependency: PackageDependency = { currentValue: 'v1.3.2', datasource: 'github-tags',