Skip to content

Commit dcdc9f0

Browse files
committed
Fix Khronos Binaries CI
1 parent 2c6931a commit dcdc9f0

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

build.binaries.mjs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,10 +113,12 @@ async function jsonRequest(url) {
113113
*/
114114
async function fetchMatchingGithubRelease(repo, releaseMatchers) {
115115
/** @type {Array<object>} */
116-
const releaseInfos = await jsonRequest(`https://api.github.com/repos/${repo}/releases`);
116+
const releaseInfos = await jsonRequest(`https://api.github.com/repos/${repo}/releases?per_page=100`);
117117
if (!releaseInfos || !releaseInfos.length) {
118118
throw new Error(`Invalid release info for ${repo}`);
119119
}
120+
// Sort by created_at (required since glslang's CI replaces assets on the same release ID)
121+
releaseInfos.sort(({created_at: a}, {created_at: b}) => a ? b ? (new Date(b) - new Date(a)) : -1 : 1);
120122
let foundReleaseInfo;
121123
for (const releaseInfo of releaseInfos) {
122124
if (releaseInfo.draft || // Skip draft releases
@@ -214,7 +216,7 @@ async function fetchMatchingSpirvToolsCI(urls, releaseMatchers) {
214216
}
215217
version = assetVersion;
216218
}
217-
return {version, tag: version, platforms};
219+
return {version, tag: version, url: '', platforms};
218220
}
219221

220222
(async function main() {
@@ -246,6 +248,7 @@ async function fetchMatchingSpirvToolsCI(urls, releaseMatchers) {
246248
for (const target of buildConfig.targets) {
247249
if (!sourceResult.platforms[target]) throw new Error(`source '${source.name}' missing target '${target}'`);
248250
}
251+
console.log(`source '${source.name}' - chose '${sourceResult.tag}' (${sourceResult.url})`);
249252
sources.push({...sourceResult, name: source.name, filelist: source.filelist,
250253
verargs: source.verargs, vermatch: source.vermatch});
251254
}

0 commit comments

Comments
 (0)