[AAE-13775] Upstream Js API (#8482)

* Be able to upstream on tag alpha|latest

* fix codeQL
This commit is contained in:
Maurizio Vitale
2023-04-17 15:32:23 +01:00
committed by GitHub
parent f0934382b3
commit 79a196a381
3 changed files with 310 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
module.exports = async ({github, context, dependencyName, tagVersion = 'alpha' }) => {
console.log('owner', context.repo.owner)
const organization = 'alfresco';
const dependencyFullName = `@${organization}/${dependencyName}`;
console.log('Looking versions for: ', dependencyFullName);
const pjson = require('../../../package.json');
const currentDependency = pjson?.dependencies[dependencyFullName];
console.log('current from package.json:', currentDependency);
const { data: availablePakages } = await github.rest.packages.getAllPackageVersionsForPackageOwnedByOrg({
package_type: 'npm',
package_name: dependencyName,
org: organization
});
let latestPkgToUpdate = null;
if (tagVersion === 'alpha') {
console.log('alpha: taking most recent')
const filteredAlphaPkgs = availablePakages.filter( (item) => item.name.match('^[0-9]*.[0-9]*.[0-9]*.A.[0-9].[0-9]*$') )
latestPkgToUpdate = filteredAlphaPkgs[0];
} else {
console.log('release: taking most recent')
const filteredReleasePkgs = availablePakages.filter( (item) => item.name.match('^[0-9]*.[0-9]*.[0-9]*.A.[0-9]*$') || item.name.match('^[0-9]*.[0-9]*.[0-9]*$') )
latestPkgToUpdate = filteredReleasePkgs[0];
}
if (latestPkgToUpdate === null) {
console.log(`Something went wrong. Not able to find any version.`);
return { hasVersionNew: 'false' };
} else {
console.log(`latest tag:${tagVersion} from NPM: `, latestPkgToUpdate.name);
if (currentDependency === latestPkgToUpdate?.name) {
console.log(`There is no new version published for ${dependencyFullName}.`);
return { hasVersionNew: 'false' };
} else {
return { hasVersionNew: 'true', latestVersion: latestPkgToUpdate?.name };
}
}
}

View File

@@ -0,0 +1,72 @@
const { Octokit } = require("@octokit/rest");
const octokit = new Octokit({
auth: "",
userAgent: 'myApp v1.2.3',
baseUrl: 'https://api.github.com',
log: {
debug: () => {},
info: () => {},
warn: console.warn,
error: console.error
},
request: {
agent: undefined,
fetch: undefined,
timeout: 0
}
});
async function asyncCall() {
const organization = 'alfresco';
const { data: availablePakages } = await octokit.rest.packages.getAllPackageVersionsForPackageOwnedByOrg({
package_type: 'npm',
package_name: 'adf-core',
org: organization
});
// console.log(availablePakages[0])
availablePakages.push({
id: 123,
name: '6.0.0-A.3',
metadata: { package_type: 'npm' }
})
availablePakages.push({
id: 222,
name: '6.0.1',
metadata: { package_type: 'npm' }
})
const filteredReleasePkgs = availablePakages.filter( (item) => item.name.match('^[0-9]*.[0-9]*.[0-9]*.A.[0-9]*$') || item.name.match('^[0-9]*.[0-9]*.[0-9]*$') )
console.log(filteredReleasePkgs)
// console.log('alpha')
// const filteredAlphaPkgs = availablePakages.filter( (item) => item.name.match('^[0-9]*\.[0-9]*\.[0-9]*.A\.[0-9]\.[0-9]*$') )
// console.log(filteredAlphaPkgs)
// const { data: info } = await octokit.rest.packages.getPackageForOrganization({
// package_type: 'npm',
// package_name: 'adf-core',
// org: organization
// });
// console.log(info)
// const { data: infos } = await octokit.rest.packages.getPackageVersionForOrganization({
// package_type: 'npm',
// package_name: 'adf-core',
// org: organization,
// package_version_id: 85591610
// });
// console.log(infos)
}
asyncCall();