@@ -114789,33 +114789,45 @@ class ZuluDistribution extends base_installer_1.JavaBase {
114789114789 // Map old API parameters to new metadata API parameters
114790114790 const osParam = this.getOsParam(platform);
114791114791 const archiveType = this.getArchiveType(extension);
114792- const requestArguments = [
114793- `os=${osParam}`,
114794- `arch=${arch}`,
114795- `archive_type=${archiveType}`,
114796- `java_package_type=${bundleType}`,
114797- `javafx_bundled=${javafx}`,
114798- `crac_supported=${crac}`,
114799- `release_status=${releaseStatus}`,
114800- `availability_types=ca`,
114801- `certifications=tck`,
114802- `page=1`,
114803- `page_size=100`
114804- ]
114805- .filter(Boolean)
114806- .join('&');
114807- const availableVersionsUrl = `https://api.azul.com/metadata/v1/zulu/packages/?${requestArguments}`;
114808- core.debug(`Gathering available versions from '${availableVersionsUrl}'`);
114809- const availableVersions = (_c = (yield this.http.getJson(availableVersionsUrl))
114810- .result) !== null && _c !== void 0 ? _c : [];
114792+ const archParam = this.getArchParam(arch, hw_bitness);
114793+ // Fetch all pages to avoid missing packages when there are > 100 results
114794+ let allVersions = [];
114795+ let page = 1;
114796+ const pageSize = 100;
114797+ let hasMore = true;
114798+ while (hasMore) {
114799+ const requestArguments = [
114800+ `os=${osParam}`,
114801+ `arch=${archParam}`,
114802+ `archive_type=${archiveType}`,
114803+ `java_package_type=${bundleType}`,
114804+ `javafx_bundled=${javafx}`,
114805+ `crac_supported=${crac}`,
114806+ `release_status=${releaseStatus}`,
114807+ `availability_types=ca`,
114808+ `certifications=tck`,
114809+ `page=${page}`,
114810+ `page_size=${pageSize}`
114811+ ]
114812+ .filter(Boolean)
114813+ .join('&');
114814+ const availableVersionsUrl = `https://api.azul.com/metadata/v1/zulu/packages/?${requestArguments}`;
114815+ core.debug(`Gathering available versions from '${availableVersionsUrl}'`);
114816+ const pageResults = (_c = (yield this.http.getJson(availableVersionsUrl))
114817+ .result) !== null && _c !== void 0 ? _c : [];
114818+ allVersions = allVersions.concat(pageResults);
114819+ // If we got fewer results than page size, we've reached the end
114820+ hasMore = pageResults.length === pageSize;
114821+ page++;
114822+ }
114811114823 if (core.isDebug()) {
114812114824 core.startGroup('Print information about available versions');
114813114825 console.timeEnd('Retrieving available versions for Zulu took'); // eslint-disable-line no-console
114814- core.debug(`Available versions: [${availableVersions .length}]`);
114815- core.debug(availableVersions .map(item => item.java_version.join('.')).join(', '));
114826+ core.debug(`Available versions: [${allVersions .length}]`);
114827+ core.debug(allVersions .map(item => item.java_version.join('.')).join(', '));
114816114828 core.endGroup();
114817114829 }
114818- return availableVersions ;
114830+ return allVersions ;
114819114831 });
114820114832 }
114821114833 getArchitectureOptions() {
@@ -114857,6 +114869,24 @@ class ZuluDistribution extends base_installer_1.JavaBase {
114857114869 return platform;
114858114870 }
114859114871 }
114872+ getArchParam(arch, hw_bitness) {
114873+ // Map architecture to new metadata API arch parameter
114874+ // The new API uses x64, x86, arm64, arm (not the legacy x86 + hw_bitness pattern)
114875+ if (arch === 'x86' && hw_bitness === '64') {
114876+ return 'x64';
114877+ }
114878+ else if (arch === 'x86' && hw_bitness === '32') {
114879+ return 'x86';
114880+ }
114881+ else if (arch === 'arm' && hw_bitness === '64') {
114882+ return 'arm64';
114883+ }
114884+ else if (arch === 'arm' && hw_bitness === '') {
114885+ return 'arm';
114886+ }
114887+ // Fallback for other architectures
114888+ return arch;
114889+ }
114860114890 getArchiveType(extension) {
114861114891 // Map extension to archive_type parameter for new API
114862114892 switch (extension) {
0 commit comments