diff --git a/functions/schemaLoader.js b/functions/schemaLoader.js index 4abeb04..80af67b 100644 --- a/functions/schemaLoader.js +++ b/functions/schemaLoader.js @@ -100,7 +100,9 @@ exports.gleanSchemaLoader = functions.pubsub.schedule('*/15 * * * *').onRun(asyn function extractSchemaInfo(schemasBuildIdLabel) { const split = schemasBuildIdLabel.split("_"); - return {hash: split[1], timestamp: split[0]}; + const hash = split[split.length - 1]; + const timestamp = split.length > 1 ? split[0] : hash; + return {hash, timestamp}; } exports.testables = { diff --git a/functions/test/schemaLoader.test.js b/functions/test/schemaLoader.test.js index 810d924..ef3ac48 100644 --- a/functions/test/schemaLoader.test.js +++ b/functions/test/schemaLoader.test.js @@ -17,5 +17,11 @@ describe('Schema loader', () => { let extractedHash = schemaLoader.testables.extractSchemaHash(schemasBuildIdLabel); assert.deepEqual(extractedHash, {hash: "a381200", timestamp: "202005050149"}) }); + + it('should handle v2 bare commit SHA labels with no timestamp (SVCSE-4252)', () => { + const schemasBuildIdLabel = "a381200"; + let extractedHash = schemaLoader.testables.extractSchemaHash(schemasBuildIdLabel); + assert.deepEqual(extractedHash, {hash: "a381200", timestamp: "a381200"}) + }); }); })