Skip to content

Commit

Permalink
Parity with unity builder image version regex (#267)
Browse files Browse the repository at this point in the history
  • Loading branch information
AndrewKahr authored May 7, 2024
1 parent fea469b commit 5817131
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 13 deletions.
2 changes: 1 addition & 1 deletion dist/index.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/index.js.map

Large diffs are not rendered by default.

23 changes: 13 additions & 10 deletions src/model/image-tag.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import ImageTag from './image-tag';

describe('ImageTag', () => {
const some = {
editorVersion: '2099.9.f9f9',
editorVersion: '2099.9.9f9',
targetPlatform: 'Test',
builderPlatform: '',
containerRegistryRepository: 'unityci/editor',
Expand All @@ -28,11 +28,14 @@ describe('ImageTag', () => {
expect(image.targetPlatformSuffix).toStrictEqual(some.builderPlatform);
});

test.each(['2000.0.0f0', '2011.1.11f1'])('accepts %p version format', editorVersion => {
expect(
() => new ImageTag({ editorVersion, targetPlatform: some.targetPlatform }),
).not.toThrow();
});
test.each(['2000.0.0f0', '2011.1.11f1', '6000.0.0f1'])(
'accepts %p version format',
editorVersion => {
expect(
() => new ImageTag({ editorVersion, targetPlatform: some.targetPlatform }),
).not.toThrow();
},
);

test.each(['some version', '', 1])('throws for incorrect versions %p', editorVersion => {
const { targetPlatform } = some;
Expand All @@ -43,24 +46,24 @@ describe('ImageTag', () => {
describe('toString', () => {
it('returns the correct version', () => {
const image = new ImageTag({
editorVersion: '2099.1.1111',
editorVersion: '2099.1.1111f1',
targetPlatform: some.targetPlatform,
containerRegistryRepository: 'unityci/editor',
containerRegistryImageVersion: '3',
});

switch (process.platform) {
case 'win32':
expect(image.toString()).toStrictEqual(`${defaults.image}:windows-2099.1.1111-3`);
expect(image.toString()).toStrictEqual(`${defaults.image}:windows-2099.1.1111f1-3`);
break;
case 'linux':
expect(image.toString()).toStrictEqual(`${defaults.image}:ubuntu-2099.1.1111-3`);
expect(image.toString()).toStrictEqual(`${defaults.image}:ubuntu-2099.1.1111f1-3`);
break;
}
});
it('returns customImage if given', () => {
const image = new ImageTag({
editorVersion: '2099.1.1111',
editorVersion: '2099.1.1111f1',
targetPlatform: some.targetPlatform,
customImage: `${defaults.image}:2099.1.1111@347598437689743986`,
containerRegistryRepository: 'unityci/editor',
Expand Down
2 changes: 1 addition & 1 deletion src/model/image-tag.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ class ImageTag {
}

static get versionPattern() {
return /^20\d{2}\.\d\.\w{3,4}|3$/;
return /^\d+\.\d+\.\d+[a-z]\d+$/;
}

static get targetPlatformSuffixes() {
Expand Down

0 comments on commit 5817131

Please sign in to comment.