support other repo
This commit is contained in:
+2
-1
@@ -1,9 +1,10 @@
|
||||
import * as git from './git';
|
||||
import * as semver from 'semver';
|
||||
import { Repo } from './interfaces';
|
||||
|
||||
describe('lsRemote', () => {
|
||||
it('should return correct records', async () => {
|
||||
const records = await git.lsRemote();
|
||||
const records = await git.lsRemote(Repo('xmake-io/xmake'));
|
||||
expect(records).toHaveProperty('heads');
|
||||
expect(records).toHaveProperty('tags');
|
||||
expect(records).toHaveProperty('pull');
|
||||
|
||||
+13
-7
@@ -2,15 +2,17 @@ import { exec } from '@actions/exec';
|
||||
import * as io from '@actions/io';
|
||||
import * as os from 'os';
|
||||
import * as path from 'path';
|
||||
import { Sha, RefDic } from './interfaces';
|
||||
import { Sha, RefDic, Repo } from './interfaces';
|
||||
|
||||
function makeOpt(ref: Sha): { cwd: string } {
|
||||
return { cwd: path.join(os.tmpdir(), `xmake-git-${ref}`) };
|
||||
}
|
||||
|
||||
export async function lsRemote(): Promise<RefDic> {
|
||||
const repoUrl = (repo: Repo): string => `https://github.com/${repo}.git`;
|
||||
|
||||
export async function lsRemote(repo: Repo): Promise<RefDic> {
|
||||
let out = '';
|
||||
await exec('git', ['ls-remote', 'https://github.com/xmake-io/xmake.git'], {
|
||||
await exec('git', ['ls-remote', repoUrl(repo)], {
|
||||
silent: true,
|
||||
listeners: {
|
||||
stdout: (d) => (out += d.toString()),
|
||||
@@ -22,27 +24,31 @@ export async function lsRemote(): Promise<RefDic> {
|
||||
if (ref && tag && tag.startsWith('refs/')) {
|
||||
const tagPath = tag.split('/').splice(1);
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
let ldata = data as any;
|
||||
let ldata = data as any; // eslint-disable-line @typescript-eslint/no-unsafe-assignment
|
||||
for (let i = 0; i < tagPath.length - 1; i++) {
|
||||
const seg = tagPath[i];
|
||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
||||
if (typeof ldata[seg] === 'object') {
|
||||
ldata = ldata[seg];
|
||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
||||
ldata = ldata[seg]; // eslint-disable-line @typescript-eslint/no-unsafe-assignment
|
||||
} else {
|
||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
||||
ldata = ldata[seg] = {};
|
||||
}
|
||||
}
|
||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
||||
ldata[tagPath[tagPath.length - 1]] = ref;
|
||||
}
|
||||
});
|
||||
return data;
|
||||
}
|
||||
|
||||
export async function create(ref: Sha): Promise<string> {
|
||||
export async function create(repo: Repo, ref: Sha): Promise<string> {
|
||||
const opt = makeOpt(ref);
|
||||
await io.rmRF(opt.cwd);
|
||||
await io.mkdirP(opt.cwd);
|
||||
await exec('git', ['init'], opt);
|
||||
await exec('git', ['remote', 'add', 'origin', 'https://github.com/xmake-io/xmake.git'], opt);
|
||||
await exec('git', ['remote', 'add', 'origin', repoUrl(repo)], opt);
|
||||
await exec('git', ['fetch', 'origin', '+refs/pull/*:refs/remotes/origin/pull/*', '+refs/heads/*:refs/remotes/origin/*'], opt);
|
||||
await exec('git', ['checkout', ref], opt);
|
||||
await exec('git', ['submodule', 'update', '--init', '--recursive'], opt);
|
||||
|
||||
+2
-1
@@ -12,7 +12,8 @@ async function run(): Promise<void> {
|
||||
else await unixInstall(version);
|
||||
await exec('xmake --version');
|
||||
} catch (error) {
|
||||
core.setFailed(error.message);
|
||||
const ex = error as Error;
|
||||
core.setFailed(ex.message);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,13 @@ export function Sha(sha: string): Sha {
|
||||
return sha as Sha;
|
||||
}
|
||||
|
||||
export type Repo = Opaque<string, 'repo'>;
|
||||
export function Repo(repo: string): Repo {
|
||||
repo = repo.trim();
|
||||
if (!/^([^/#]+\/[^/#]+)$/g.test(repo)) throw new Error(`Invalid repo value ${repo}`);
|
||||
return repo as Repo;
|
||||
}
|
||||
|
||||
export type RefDic = {
|
||||
/** branches */
|
||||
heads: Record<string, Sha>;
|
||||
@@ -30,4 +37,5 @@ export interface Version {
|
||||
version: string;
|
||||
sha: Sha;
|
||||
type: keyof RefDic | 'sha';
|
||||
repo: Repo;
|
||||
}
|
||||
|
||||
+2
-2
@@ -12,8 +12,8 @@ export async function unixInstall(version: Version): Promise<void> {
|
||||
const ver = version.version;
|
||||
let toolDir = toolCache.find('xmake', ver);
|
||||
if (!toolDir) {
|
||||
const sourceDir = await core.group(`download xmake ${version}`, () => git.create(version.sha));
|
||||
toolDir = await core.group(`install xmake ${version}`, async () => {
|
||||
const sourceDir = await core.group(`download xmake ${String(version)}`, () => git.create(version.repo, version.sha));
|
||||
toolDir = await core.group(`install xmake ${String(version)}`, async () => {
|
||||
await exec('make', ['build'], { cwd: sourceDir });
|
||||
const binDir = path.join(os.tmpdir(), `xmake-${version.sha}`);
|
||||
await exec('make', ['install', `prefix=${binDir}`], { cwd: sourceDir });
|
||||
|
||||
+273
-253
@@ -1,264 +1,276 @@
|
||||
jest.mock('./git', () => ({
|
||||
lsRemote() {
|
||||
return {
|
||||
heads: {
|
||||
dev: 'e3b63b2f0103855c940fa8683610cd02895450d1',
|
||||
master: 'efad01e547f30d66d90e486c91c3afa0dbaceed3',
|
||||
test: '18f0605f2e1764d4c07fa4f9fc24274275e1562c',
|
||||
},
|
||||
tags: {
|
||||
'v1.0.1': '723ec3e970e17f48a601fe2a919b9802b5e516fa',
|
||||
'v1.0.2': '84fa20ca3ded99b9667609c5cb2e56b2308c8e4b',
|
||||
'v1.0.3': 'e56812a09d3677957c41bccc8988599208e3b49a',
|
||||
'v1.0.4': '825dda9d93448ba783e18f7947eef0b4eb07942e',
|
||||
'v2.0.1': '432fd6a40018f4c29e08f1d4cadf1ccc387a0cff',
|
||||
'v2.0.2': 'd24fcddbc2f1093f3943a917d99c5a8989ef2644',
|
||||
'v2.0.3': 'b5f21a05b1cdaf46314238b4cc665976294df1da',
|
||||
'v2.0.4': '2b15a1b5b149e5156e22358f3d29b4de63473376',
|
||||
'v2.0.5': 'b168ce05d763957ed05844141d77d155bf842e7a',
|
||||
'v2.1.1': '5ba22ca230c3f3f9477491df6d39f11d53132fb1',
|
||||
'v2.1.2': 'bf69a2413117cf21c53bde1edbda713e77d4fd9b',
|
||||
'v2.1.3': '248b2cc8a96d41445a2e46d259d14fea8e4203ec',
|
||||
'v2.1.4': '1d94a23a7db35631f4b33b8b0b3968d0e62ffe2a',
|
||||
'v2.1.5': '72f68f941f9b6d07f71811fe403a2dc178270af0',
|
||||
'v2.1.6': '7ea60d24da152469258a4cb35b3ce591ea2fd961',
|
||||
'v2.1.7': 'a04725662933fbbe3ad4a319d03267fc32907242',
|
||||
'v2.1.8': '6c3f42dad5840210ee7294ca295f6c7b18c32291',
|
||||
'v2.1.9': '0f1e8530e89a9432678ed6fe4fef25d0485d1293',
|
||||
'v2.2.1': 'f15ff1ca73b02ff5f522c9fe59004331b1b410fb',
|
||||
'v2.2.2': '18a42e0e8980e3edc39198b18c5c4b9a464ea381',
|
||||
'v2.2.3': 'c4d0e69abf2b9caa88b997ca1f2935b6e0b00c9f',
|
||||
'v2.2.5': 'd71a01615883fffa53fbd28e578db14353628a52',
|
||||
'v2.2.6': 'eb60a76b7454975d151f2d8b5d9e19b26d561c2d',
|
||||
'v2.2.7': '72bd93de8dd64cc5de8986860819a5873ce08fe5',
|
||||
'v2.2.8': '6a2e390a79c4f0444a03b566d4bf24849a6ee3a3',
|
||||
'v2.2.9': '4c22b7a7823518d538a81081d2e795b9ce4403e2',
|
||||
'v2.3.1': 'f6155f883fd6377e0ee5002425f84f05eb420bef',
|
||||
'v2.3.2': '31bacc4f76101e6a865ec254c48d8bcba456378f',
|
||||
},
|
||||
pull: {
|
||||
'8': { head: '7e3ee3281df2b4caffebe25c87e871ba682dd701' },
|
||||
'11': {
|
||||
head: 'a18d2890ee7615f000b3a6b35150733e2e0013e3',
|
||||
merge: 'ac07a6f13d09ba445af6ba403647f09c6f10dc9b',
|
||||
lsRemote(repo: Repo) {
|
||||
if (repo === 'xmake-io/xmake')
|
||||
return {
|
||||
heads: {
|
||||
dev: 'e3b63b2f0103855c940fa8683610cd02895450d1',
|
||||
master: 'efad01e547f30d66d90e486c91c3afa0dbaceed3',
|
||||
test: '18f0605f2e1764d4c07fa4f9fc24274275e1562c',
|
||||
},
|
||||
'23': {
|
||||
head: 'c33fd5a8b3e7ff7692630bbc8f5d5b6166502493',
|
||||
merge: '9041fc8587c9b797440ec2f58deb4626de688010',
|
||||
tags: {
|
||||
'v1.0.1': '723ec3e970e17f48a601fe2a919b9802b5e516fa',
|
||||
'v1.0.2': '84fa20ca3ded99b9667609c5cb2e56b2308c8e4b',
|
||||
'v1.0.3': 'e56812a09d3677957c41bccc8988599208e3b49a',
|
||||
'v1.0.4': '825dda9d93448ba783e18f7947eef0b4eb07942e',
|
||||
'v2.0.1': '432fd6a40018f4c29e08f1d4cadf1ccc387a0cff',
|
||||
'v2.0.2': 'd24fcddbc2f1093f3943a917d99c5a8989ef2644',
|
||||
'v2.0.3': 'b5f21a05b1cdaf46314238b4cc665976294df1da',
|
||||
'v2.0.4': '2b15a1b5b149e5156e22358f3d29b4de63473376',
|
||||
'v2.0.5': 'b168ce05d763957ed05844141d77d155bf842e7a',
|
||||
'v2.1.1': '5ba22ca230c3f3f9477491df6d39f11d53132fb1',
|
||||
'v2.1.2': 'bf69a2413117cf21c53bde1edbda713e77d4fd9b',
|
||||
'v2.1.3': '248b2cc8a96d41445a2e46d259d14fea8e4203ec',
|
||||
'v2.1.4': '1d94a23a7db35631f4b33b8b0b3968d0e62ffe2a',
|
||||
'v2.1.5': '72f68f941f9b6d07f71811fe403a2dc178270af0',
|
||||
'v2.1.6': '7ea60d24da152469258a4cb35b3ce591ea2fd961',
|
||||
'v2.1.7': 'a04725662933fbbe3ad4a319d03267fc32907242',
|
||||
'v2.1.8': '6c3f42dad5840210ee7294ca295f6c7b18c32291',
|
||||
'v2.1.9': '0f1e8530e89a9432678ed6fe4fef25d0485d1293',
|
||||
'v2.2.1': 'f15ff1ca73b02ff5f522c9fe59004331b1b410fb',
|
||||
'v2.2.2': '18a42e0e8980e3edc39198b18c5c4b9a464ea381',
|
||||
'v2.2.3': 'c4d0e69abf2b9caa88b997ca1f2935b6e0b00c9f',
|
||||
'v2.2.5': 'd71a01615883fffa53fbd28e578db14353628a52',
|
||||
'v2.2.6': 'eb60a76b7454975d151f2d8b5d9e19b26d561c2d',
|
||||
'v2.2.7': '72bd93de8dd64cc5de8986860819a5873ce08fe5',
|
||||
'v2.2.8': '6a2e390a79c4f0444a03b566d4bf24849a6ee3a3',
|
||||
'v2.2.9': '4c22b7a7823518d538a81081d2e795b9ce4403e2',
|
||||
'v2.3.1': 'f6155f883fd6377e0ee5002425f84f05eb420bef',
|
||||
'v2.3.2': '31bacc4f76101e6a865ec254c48d8bcba456378f',
|
||||
},
|
||||
'24': { head: '5777dbc4397360e21e26466634cfddc633531054' },
|
||||
'28': {
|
||||
head: 'a3a28f8abdfe8711b2e4d7496ade02e910070e9f',
|
||||
merge: '3bb5cf13cfa93ab186e7df168dce87718914696b',
|
||||
pull: {
|
||||
'8': { head: '7e3ee3281df2b4caffebe25c87e871ba682dd701' },
|
||||
'11': {
|
||||
head: 'a18d2890ee7615f000b3a6b35150733e2e0013e3',
|
||||
merge: 'ac07a6f13d09ba445af6ba403647f09c6f10dc9b',
|
||||
},
|
||||
'23': {
|
||||
head: 'c33fd5a8b3e7ff7692630bbc8f5d5b6166502493',
|
||||
merge: '9041fc8587c9b797440ec2f58deb4626de688010',
|
||||
},
|
||||
'24': { head: '5777dbc4397360e21e26466634cfddc633531054' },
|
||||
'28': {
|
||||
head: 'a3a28f8abdfe8711b2e4d7496ade02e910070e9f',
|
||||
merge: '3bb5cf13cfa93ab186e7df168dce87718914696b',
|
||||
},
|
||||
'29': { head: '9400826a6fb06bbe08c23550c063eddafa65fe4b' },
|
||||
'38': { head: '745c8f9a3ad7d4c0282fcfbb108bfb053864cbbc' },
|
||||
'45': { head: '0a8ae5b98d2297bbad38fbf96cc78b373ac6f4ff' },
|
||||
'52': { head: 'c53c28bc7b0cd59ea984a3c687273aa47d608c2a' },
|
||||
'59': { head: '1e766da707d9b1075144303755f4e772fa33193d' },
|
||||
'61': {
|
||||
head: '75df3c9a5dafac83a8227ce84b004d3450b10c38',
|
||||
merge: '08962c4c13c6eea78e3c840711b030d30afebeb4',
|
||||
},
|
||||
'63': { head: 'c3fc0841da49c875cadf225ed2da2dc624c1c72f' },
|
||||
'65': {
|
||||
head: '7c6dca6fe620ee41cd09162bc31d2ab0ab371832',
|
||||
merge: '8c50b1e623668850f936ff980080425aedb7fac9',
|
||||
},
|
||||
'72': {
|
||||
head: 'db0f89089bab6a8b6444712b48d4e05d36b05bf4',
|
||||
merge: '3cf6fc8c23edfa66dff224e884a7faed8c2ecf02',
|
||||
},
|
||||
'74': { head: 'e9dde75d0f1159fda52b05f10646eae2cbdfc589' },
|
||||
'75': { head: '3b9b9fb9c1c302be15e87ffe47309b2c6bc8eaec' },
|
||||
'76': { head: '630f5f17601e5a35fb8b2e03fd7e3aad7af76c02' },
|
||||
'77': { head: '61ae623bda980eeb65f5f26c86e9a246a43b93cd' },
|
||||
'78': { head: '831481cdfbf0905b543ad503950233d7736b97d6' },
|
||||
'80': { head: '52c8ee6e3a5782f49e19bb1b4b9c8fa79661c0e0' },
|
||||
'81': { head: 'a145b7c6e0e491df3bc96a8b55201bacf6d73c77' },
|
||||
'82': { head: '55c84b7fc414036f783396b8e8f937c032dc2f34' },
|
||||
'84': { head: 'da6e4cce0e4c1736db0898d53c16ac8ca0441846' },
|
||||
'85': { head: '05590ed02faa985c7b358d4c10126db549e50a77' },
|
||||
'90': { head: 'c57aa4cf4463f33d3deaf8d58e42abbbd83b0e1b' },
|
||||
'91': { head: 'f04981e7a207a25ece6047e83ac3c34c8747e89b' },
|
||||
'92': {
|
||||
head: 'b226dc77e49c31bf41ca55440aede275a642cb0a',
|
||||
merge: '02f98269a1d7580621fedd809a182a47bf832dd6',
|
||||
},
|
||||
'93': { head: '37b4a7647163afdd392c7afcc61955244b6117cb' },
|
||||
'97': { head: 'd35751770b68b1daa7154e3dfbae4169e71af4dd' },
|
||||
'98': { head: '3687f2a29216e84aa182738e91bb0046a3950916' },
|
||||
'100': {
|
||||
head: '4f02b28754d131cbc3354a05535382eefd729231',
|
||||
merge: '0cd4dc9a46b7418e8471c758d6003e4e4d34ce87',
|
||||
},
|
||||
'102': {
|
||||
head: '0042b79375fd532220f9e9639ca6dfdc9007265a',
|
||||
merge: '6eceac557545ef3022e7401ef3daff235694fde3',
|
||||
},
|
||||
'103': { head: 'cbd86c9b25592b81dd010b6fa2e7ce52c31f50db' },
|
||||
'104': { head: 'e0be61b29d1d88ad7daa5f876faaf296e5935f9c' },
|
||||
'105': { head: '4456dbd2f7b2f96812ed00d67cf484178375931c' },
|
||||
'107': { head: '3f3b52d9b053a38b38557bc3a3e9aeb75d749350' },
|
||||
'108': { head: 'b54b263ab4f05564cc463a53d1efedc1c3703f2f' },
|
||||
'110': { head: 'b6724648232ed892301457c05cf5ec4deaefc2ed' },
|
||||
'112': { head: 'ba4864ad076d07320b9d0f0b4b11b3b22644031e' },
|
||||
'113': { head: '2cb7a91bf266680266de51636ce6620cbecc9362' },
|
||||
'114': { head: '1ad0641672627b5ae2cc417b73614c6ce842bb12' },
|
||||
'115': { head: '67a5ad78de9453d14b562cd7c3f2a4364e370d24' },
|
||||
'116': { head: '98a844e670ee733c1036947efd9099f7763fb544' },
|
||||
'118': { head: 'f2d1fc547a2f57da992b947cc3b3f615f9f2d34d' },
|
||||
'119': { head: '64645daebde9aceaeea7f24c9156cdaa4ac5e035' },
|
||||
'131': { head: '28353b3a76db9592acb23fed82461c07c8d6265b' },
|
||||
'187': { head: '92ea65b345d93a88777d02cccaedbccb12fe5fc3' },
|
||||
'188': { head: 'be03b89501a829e19932f86f491df80962bfe8d5' },
|
||||
'198': { head: '49298d9ead57f63b85f2a8ad9e072915617cc58d' },
|
||||
'204': {
|
||||
head: 'ac21734c1d1ae754146754f2656451091ff22014',
|
||||
merge: '39fcf9250a92c05eb837f82aefa0e1dc49660518',
|
||||
},
|
||||
'205': { head: 'd74715b3615e171776a6e5b9971d2ec2bff115d5' },
|
||||
'210': { head: '9ee12112e49db451a49a66d77dd2990d9f6ddab9' },
|
||||
'214': { head: 'b5b1c689f508068ffbde704194b08569151e383a' },
|
||||
'215': { head: '05b6182def036b36c8e4aeac8cdc55441fc4a4db' },
|
||||
'216': { head: 'e8af37c32549f54059f6e7635064c623b80c039c' },
|
||||
'217': {
|
||||
head: '905a8607f3f31ab9efeb68684d40df8284683f3a',
|
||||
merge: '2f93475049575ed5e44699daa378239bc141aad3',
|
||||
},
|
||||
'221': { head: 'ca7b50a40cf7c120d49ca8164f9a54c289dd5743' },
|
||||
'228': { head: '92f1645146c22699f4e2b567451f87fb0dbf2fc6' },
|
||||
'231': { head: 'ca72eb0cf60c3e0747444859d9fc738b98ecc4b5' },
|
||||
'235': { head: '69efc61859543613abc7ec553029852cd5693d17' },
|
||||
'245': { head: '5d33e86c3190d37d04ac26da804db3c53218ae7e' },
|
||||
'247': { head: '9ce75001587cc47db9c980dd99ba28d17b9cc7e8' },
|
||||
'248': { head: '8c6cd6b4dc6b6a6b18150480d9711595f0043f26' },
|
||||
'249': { head: 'a7543cbdfa7fcbe04178d53add85de04b54933b7' },
|
||||
'267': { head: '7d0901f3014960bd53afa0918f21c4a53094faad' },
|
||||
'270': { head: 'c584463f1cd693c2a5df78611816697343ac6ac4' },
|
||||
'273': { head: 'da267497a9677d4cfc7175d462494e1334823476' },
|
||||
'276': { head: '8a80645e856deeaa1df5ad6a2ef91a9c4d475cc8' },
|
||||
'282': { head: 'f9df7b9a3594c8613e6f54003add9ffdaa7e4b49' },
|
||||
'286': { head: '4c59f260714576e2c23aa068b4a1beae62756fd3' },
|
||||
'298': { head: '4175116555b4337ad6cd423373462eb9107617ec' },
|
||||
'303': { head: 'f114c56acb0264a094a99ceff5f45735ea17e54c' },
|
||||
'333': { head: '0f2f41de06a0a7e2852ae9d6b01fd8cde6da4965' },
|
||||
'365': { head: '88b7af92f6988abb30b72095592c74a245c06507' },
|
||||
'380': { head: '5462c4ef4fb470c5878a46cb809203fc1459998f' },
|
||||
'381': { head: 'bd186f9cf5a142aec24bf2d17eff4393487fbd87' },
|
||||
'384': { head: 'e3e646d4e39695b398d719c3340345c8f53750bc' },
|
||||
'387': { head: '84a97cf3471a039bbde45491d5db8eb470b3373e' },
|
||||
'392': { head: '4572f4895e11712ba620097cb504195abc060df2' },
|
||||
'394': { head: 'e34797ed62a4f5f7bab841a0982b3138300d637c' },
|
||||
'395': { head: 'c2a04219cf41346bfa2f4871eda8915d43f38f09' },
|
||||
'398': { head: '0e3f93ad95a57e2dbc3360c26292dacb767f8f54' },
|
||||
'402': { head: '9cebcd69efd4587e3ac56b23e488fbbc9b359f48' },
|
||||
'417': { head: '59a6c75f86de2cb080839910fa9395ccf1089083' },
|
||||
'418': { head: 'c2c491ab4bedea3be7b1a6aca8bb4e65a9d763db' },
|
||||
'420': { head: 'c9208456c2d0c8175d19290a50ccb6fdf95139bb' },
|
||||
'421': { head: '82277e5222154ff4463127681f2d18abb07d7f4a' },
|
||||
'422': { head: 'ace80d7f0b4b6e06a53b7d4bbad3eab28cd65915' },
|
||||
'430': { head: '117f22a385f0118eac2aa6ef8fedf4b29062e973' },
|
||||
'431': { head: '52d8932c29ccf051e2cd400493c38ff1c90f4ccb' },
|
||||
'432': { head: '18ac66eebce733b1112b419f9896cdfa2ede395a' },
|
||||
'435': { head: 'acad517e5ce23a82979a87155bb639f91098adaf' },
|
||||
'438': { head: 'b4c94415e8c7ee24cb3f8c0ba6e0536282121adf' },
|
||||
'441': { head: 'a674530614fbce03122c7d9c72712a6e7a23acb4' },
|
||||
'443': { head: '34cf94bc1650a6e909e9fa3ee88d5cc3cb46eec2' },
|
||||
'444': { head: '8049d92b3e9aef35e4f124e5ae361bdd1f5c5435' },
|
||||
'445': { head: '69c93dba3591d9404bc6b38d84aca731db84ad15' },
|
||||
'447': { head: 'a483b7a9f28c232d66a5c7596926e5c31af865e2' },
|
||||
'448': { head: '9c2c26c81c8c43bc1a834522bc085392c766e7e0' },
|
||||
'449': { head: '52f3bbe24e365b28f4bcd1e277d178a2561a1e8b' },
|
||||
'450': { head: 'fddedb324fbff0546c2cbe304fe95c8e254da6fb' },
|
||||
'451': { head: '17332ad1070bb6190bcd24f0a96cca823b4d8d26' },
|
||||
'452': { head: 'b357d95010f883bff0d1a92ba2390f4c0a50e8ec' },
|
||||
'453': { head: '3ac4190baf80ca6734a35acdfd5ac5f089acbe3e' },
|
||||
'454': { head: '3a5a625a1f498350b05eaa70066c9e77e32ee85f' },
|
||||
'455': { head: '98d4504577b586ef2398346a0db2743081cf03a8' },
|
||||
'457': { head: '72f86392dd7bf482f409dfe4dd00219ef422ad9c' },
|
||||
'458': { head: '4e01df47f2e594796ba6b36858cbe924533dd7aa' },
|
||||
'459': { head: '608f198b3ab87f83b2458e58c1f7dcc6a2beebc0' },
|
||||
'460': { head: 'f264f50f6c1ec488c1608bf69c463d57cc7ccca9' },
|
||||
'462': { head: '5d8c5b6d686b802c48ff52bfe72f188c92509f49' },
|
||||
'464': { head: 'f38741505acb528f609a8b269c911fc037a03fcc' },
|
||||
'465': { head: '318bb739dd64d19a4b4d91d8be49b22fc3403cff' },
|
||||
'468': { head: '117c7cc8a9bea5c9ef65bf00689e1917d91571ec' },
|
||||
'470': { head: '9f73278f8f7631bc53daba27ffdf84d96068c562' },
|
||||
'472': { head: '8cd138e181b63fa327b4b3caa3250fb1dce4b407' },
|
||||
'473': { head: '45a4253be8540240758a69eb8c0c103a3edde057' },
|
||||
'475': { head: 'b93b3d0cc8241e099fc508ffb1f9dace6ab8586a' },
|
||||
'476': { head: '639552074da609025ca6609350c90263ebe684e7' },
|
||||
'477': { head: 'dae10753450c75af10c300dbaf00653b15a27e87' },
|
||||
'478': { head: '9ec42e0f156e0f82068eabbab6ccbfd17549486a' },
|
||||
'481': { head: 'b11c6f57662624732501045e6cccf6b6188dacee' },
|
||||
'482': { head: '887d8d84223de495f0442baa9ae143c382747285' },
|
||||
'483': { head: '4cc123809f92db0a32f4fedbcbf4862484406da0' },
|
||||
'484': { head: '7cff50433386d8c7793884cddd1eb6e1c3c2681e' },
|
||||
'485': { head: '9ce1420b43db72da9d6a57bcc3d4ba478d614484' },
|
||||
'486': { head: '18714381a6257fd93c93344cb559fc409f6b1017' },
|
||||
'488': { head: 'ca45f8941e0b69582021d34061873c8752f76154' },
|
||||
'491': { head: 'e7bcde1188f02ac07e64f6b9a798e0b1ca1e049c' },
|
||||
'492': { head: '09f10b74034b040a6cb56640cd2c2f1027051b50' },
|
||||
'495': { head: 'a6396622cdb3af334c1ec044d5a699affa0dccc2' },
|
||||
'496': { head: 'e5ddd73878d170312580a9284edd5521a2115873' },
|
||||
'497': { head: '74909f788acd34051cf4d32e94b5bcfe1f2c292b' },
|
||||
'498': { head: '08c5864bbfcdc8238716ca8929a71554d08dabfd' },
|
||||
'499': { head: 'bc6896917a2e150adb5aa2a063f72fc85d2ab9f5' },
|
||||
'500': { head: 'ff0595d384a9b4e7656e0c44f327f7614e2a8fd6' },
|
||||
'501': { head: '81acc02e79365957d37e98fbe70887edccfebba6' },
|
||||
'503': { head: '145358ba831e7a90f275118a0556787754fe2fa6' },
|
||||
'505': { head: '1cf79ba882fb24eca13829c12f6e39584ccd1f5f' },
|
||||
'506': { head: '49f14868b5fa9bca4aa2f51ea2b70f9edae89cb6' },
|
||||
'507': { head: '726997c8d83f2a9dff3bb96685dd35ea555e7b8c' },
|
||||
'508': { head: 'a99ed5924ed00e195c0dacc036625bdb4d10f9a8' },
|
||||
'509': { head: '7d4023cf698bff82b2c0f2b4aad86286d4890b49' },
|
||||
'510': { head: 'fb9a434ada47e47e543f62e353c7375f93f82c39' },
|
||||
'523': { head: '0bdcae97d8d9b2b3afe725f9b857a9994d3b28fa' },
|
||||
'525': { head: 'ebe4099e7ea32b023edfc7a5559db5d1d5262e20' },
|
||||
'526': { head: '454f1c64dae6c213177007885e54a1ab497f4b1b' },
|
||||
'527': { head: '786c94fb869b6bbcf310e93f3068b795b177fc0b' },
|
||||
'529': { head: 'df6f615305180ef67c9daa25038af1bc91ff44b0' },
|
||||
'530': { head: '4f2e25226853830f157a2da79097c527030d42b4' },
|
||||
'531': { head: '0b57414998b5404f93209f5b06141911cc9af503' },
|
||||
'534': { head: 'bd4181e0321ec9db4dd6b304db51f5cf6566a484' },
|
||||
'537': { head: 'b515795919b7eb114032a441564512645fae489c' },
|
||||
'542': { head: '7ce304f9ee9946471d4ad11e78ea25149a05483f' },
|
||||
'543': { head: 'f6b1a4866e1c73aafe6decdc6bfc1d99653f2b64' },
|
||||
'547': { head: '9943cbae2e39a219cd5f889802d9db11aaefda5c' },
|
||||
'550': { head: '172076db9fa929c5b6dd20a733d15cf28ef092aa' },
|
||||
'551': { head: 'ff103cd4816ca50102c3bc10906695581c734f60' },
|
||||
'552': { head: '99a3da1ff1e25e76a2cbf19f2f3a3ff43b6be013' },
|
||||
'554': { head: '689068989bcda7bd099f920691dc388eae82bd9a' },
|
||||
'557': { head: '416efddbbac77ecad9be41bdafd36bdea89e25d5' },
|
||||
'563': { head: '3d72809db048911efec3d52106dd6968349ef4d1' },
|
||||
'569': { head: 'ce51c2de7c11b6368ce8956329f9ebbe4ffd1b67' },
|
||||
'593': { head: 'f00316a42943a9a75303658f8d646d35f9e8d1b9' },
|
||||
'613': { head: '155deaae3ea36460929db9c8f28f2b97a319f54c' },
|
||||
'625': { head: 'a027cf0843001dd2cb608c1c42cf643f48a56749' },
|
||||
'628': { head: '23ae1e8af491342ef3e4f899ed0bdb5dd1a1284a' },
|
||||
'631': { head: '30d4183095aa5dcdb9cbe00b1b48e45ca31424fe' },
|
||||
'633': { head: '54ba9a0faf46957c3da37366119e0dab52fc02cc' },
|
||||
'642': { head: 'c68a8ac90d822f74478cc36b6ba5a7e9ac225ee9' },
|
||||
'655': { head: '6da12e9e3387be62b5b00cba64d1fb4d2e1ac140' },
|
||||
'664': { head: 'e011000482dccb3e215d0eb895e280de6cda627e' },
|
||||
'667': { head: 'dc25ac7a87256a0470f523017ee790b29e9b6f2d' },
|
||||
'669': { head: 'd0b39e229426a336f71a0cc24f6319a47e2ce975' },
|
||||
'671': { head: 'aa0cd8e58d2effab424214d12ab2122ff39a0f4a' },
|
||||
'672': { head: '0cb3bd5f5aa0605835d7c785bd58e9d75b362fdd' },
|
||||
'673': { head: '97b0e9c8e673325545d2e55288d66a2dd99d1cc0' },
|
||||
'674': { head: '5d7a6efa13021da59a370bb011f4caf494b35da3' },
|
||||
'678': { head: '98d788b6df2e95725e2435fff8469deb3ff74e8c' },
|
||||
'679': { head: 'ea8ee4a153af424e238ed0e0772c32bfb0a881b1' },
|
||||
'682': { head: 'fd12dc4bd31ebe9dc6370ab150c39441ce4d6061' },
|
||||
'686': { head: 'd76b2b96872e3860af34b3256bc1df2189835829' },
|
||||
'703': { head: '3b0f6e396c4a1d53b1b046c416681da6229fbdce' },
|
||||
'708': { head: 'af28dba1f52990cb7b6c3c8f69f1f1bcf017c90a' },
|
||||
},
|
||||
'29': { head: '9400826a6fb06bbe08c23550c063eddafa65fe4b' },
|
||||
'38': { head: '745c8f9a3ad7d4c0282fcfbb108bfb053864cbbc' },
|
||||
'45': { head: '0a8ae5b98d2297bbad38fbf96cc78b373ac6f4ff' },
|
||||
'52': { head: 'c53c28bc7b0cd59ea984a3c687273aa47d608c2a' },
|
||||
'59': { head: '1e766da707d9b1075144303755f4e772fa33193d' },
|
||||
'61': {
|
||||
head: '75df3c9a5dafac83a8227ce84b004d3450b10c38',
|
||||
merge: '08962c4c13c6eea78e3c840711b030d30afebeb4',
|
||||
};
|
||||
if (repo === 'my/xmake')
|
||||
return {
|
||||
heads: {
|
||||
dev: 'e3b63b2f0103855c940fa8683610cd02895450d1',
|
||||
master: 'efad01e547f30d66d90e486c91c3afa0dbaceed3',
|
||||
'patch-1': '77cd51991f8b9c76e54d668103a06ca6c597e64a',
|
||||
},
|
||||
'63': { head: 'c3fc0841da49c875cadf225ed2da2dc624c1c72f' },
|
||||
'65': {
|
||||
head: '7c6dca6fe620ee41cd09162bc31d2ab0ab371832',
|
||||
merge: '8c50b1e623668850f936ff980080425aedb7fac9',
|
||||
},
|
||||
'72': {
|
||||
head: 'db0f89089bab6a8b6444712b48d4e05d36b05bf4',
|
||||
merge: '3cf6fc8c23edfa66dff224e884a7faed8c2ecf02',
|
||||
},
|
||||
'74': { head: 'e9dde75d0f1159fda52b05f10646eae2cbdfc589' },
|
||||
'75': { head: '3b9b9fb9c1c302be15e87ffe47309b2c6bc8eaec' },
|
||||
'76': { head: '630f5f17601e5a35fb8b2e03fd7e3aad7af76c02' },
|
||||
'77': { head: '61ae623bda980eeb65f5f26c86e9a246a43b93cd' },
|
||||
'78': { head: '831481cdfbf0905b543ad503950233d7736b97d6' },
|
||||
'80': { head: '52c8ee6e3a5782f49e19bb1b4b9c8fa79661c0e0' },
|
||||
'81': { head: 'a145b7c6e0e491df3bc96a8b55201bacf6d73c77' },
|
||||
'82': { head: '55c84b7fc414036f783396b8e8f937c032dc2f34' },
|
||||
'84': { head: 'da6e4cce0e4c1736db0898d53c16ac8ca0441846' },
|
||||
'85': { head: '05590ed02faa985c7b358d4c10126db549e50a77' },
|
||||
'90': { head: 'c57aa4cf4463f33d3deaf8d58e42abbbd83b0e1b' },
|
||||
'91': { head: 'f04981e7a207a25ece6047e83ac3c34c8747e89b' },
|
||||
'92': {
|
||||
head: 'b226dc77e49c31bf41ca55440aede275a642cb0a',
|
||||
merge: '02f98269a1d7580621fedd809a182a47bf832dd6',
|
||||
},
|
||||
'93': { head: '37b4a7647163afdd392c7afcc61955244b6117cb' },
|
||||
'97': { head: 'd35751770b68b1daa7154e3dfbae4169e71af4dd' },
|
||||
'98': { head: '3687f2a29216e84aa182738e91bb0046a3950916' },
|
||||
'100': {
|
||||
head: '4f02b28754d131cbc3354a05535382eefd729231',
|
||||
merge: '0cd4dc9a46b7418e8471c758d6003e4e4d34ce87',
|
||||
},
|
||||
'102': {
|
||||
head: '0042b79375fd532220f9e9639ca6dfdc9007265a',
|
||||
merge: '6eceac557545ef3022e7401ef3daff235694fde3',
|
||||
},
|
||||
'103': { head: 'cbd86c9b25592b81dd010b6fa2e7ce52c31f50db' },
|
||||
'104': { head: 'e0be61b29d1d88ad7daa5f876faaf296e5935f9c' },
|
||||
'105': { head: '4456dbd2f7b2f96812ed00d67cf484178375931c' },
|
||||
'107': { head: '3f3b52d9b053a38b38557bc3a3e9aeb75d749350' },
|
||||
'108': { head: 'b54b263ab4f05564cc463a53d1efedc1c3703f2f' },
|
||||
'110': { head: 'b6724648232ed892301457c05cf5ec4deaefc2ed' },
|
||||
'112': { head: 'ba4864ad076d07320b9d0f0b4b11b3b22644031e' },
|
||||
'113': { head: '2cb7a91bf266680266de51636ce6620cbecc9362' },
|
||||
'114': { head: '1ad0641672627b5ae2cc417b73614c6ce842bb12' },
|
||||
'115': { head: '67a5ad78de9453d14b562cd7c3f2a4364e370d24' },
|
||||
'116': { head: '98a844e670ee733c1036947efd9099f7763fb544' },
|
||||
'118': { head: 'f2d1fc547a2f57da992b947cc3b3f615f9f2d34d' },
|
||||
'119': { head: '64645daebde9aceaeea7f24c9156cdaa4ac5e035' },
|
||||
'131': { head: '28353b3a76db9592acb23fed82461c07c8d6265b' },
|
||||
'187': { head: '92ea65b345d93a88777d02cccaedbccb12fe5fc3' },
|
||||
'188': { head: 'be03b89501a829e19932f86f491df80962bfe8d5' },
|
||||
'198': { head: '49298d9ead57f63b85f2a8ad9e072915617cc58d' },
|
||||
'204': {
|
||||
head: 'ac21734c1d1ae754146754f2656451091ff22014',
|
||||
merge: '39fcf9250a92c05eb837f82aefa0e1dc49660518',
|
||||
},
|
||||
'205': { head: 'd74715b3615e171776a6e5b9971d2ec2bff115d5' },
|
||||
'210': { head: '9ee12112e49db451a49a66d77dd2990d9f6ddab9' },
|
||||
'214': { head: 'b5b1c689f508068ffbde704194b08569151e383a' },
|
||||
'215': { head: '05b6182def036b36c8e4aeac8cdc55441fc4a4db' },
|
||||
'216': { head: 'e8af37c32549f54059f6e7635064c623b80c039c' },
|
||||
'217': {
|
||||
head: '905a8607f3f31ab9efeb68684d40df8284683f3a',
|
||||
merge: '2f93475049575ed5e44699daa378239bc141aad3',
|
||||
},
|
||||
'221': { head: 'ca7b50a40cf7c120d49ca8164f9a54c289dd5743' },
|
||||
'228': { head: '92f1645146c22699f4e2b567451f87fb0dbf2fc6' },
|
||||
'231': { head: 'ca72eb0cf60c3e0747444859d9fc738b98ecc4b5' },
|
||||
'235': { head: '69efc61859543613abc7ec553029852cd5693d17' },
|
||||
'245': { head: '5d33e86c3190d37d04ac26da804db3c53218ae7e' },
|
||||
'247': { head: '9ce75001587cc47db9c980dd99ba28d17b9cc7e8' },
|
||||
'248': { head: '8c6cd6b4dc6b6a6b18150480d9711595f0043f26' },
|
||||
'249': { head: 'a7543cbdfa7fcbe04178d53add85de04b54933b7' },
|
||||
'267': { head: '7d0901f3014960bd53afa0918f21c4a53094faad' },
|
||||
'270': { head: 'c584463f1cd693c2a5df78611816697343ac6ac4' },
|
||||
'273': { head: 'da267497a9677d4cfc7175d462494e1334823476' },
|
||||
'276': { head: '8a80645e856deeaa1df5ad6a2ef91a9c4d475cc8' },
|
||||
'282': { head: 'f9df7b9a3594c8613e6f54003add9ffdaa7e4b49' },
|
||||
'286': { head: '4c59f260714576e2c23aa068b4a1beae62756fd3' },
|
||||
'298': { head: '4175116555b4337ad6cd423373462eb9107617ec' },
|
||||
'303': { head: 'f114c56acb0264a094a99ceff5f45735ea17e54c' },
|
||||
'333': { head: '0f2f41de06a0a7e2852ae9d6b01fd8cde6da4965' },
|
||||
'365': { head: '88b7af92f6988abb30b72095592c74a245c06507' },
|
||||
'380': { head: '5462c4ef4fb470c5878a46cb809203fc1459998f' },
|
||||
'381': { head: 'bd186f9cf5a142aec24bf2d17eff4393487fbd87' },
|
||||
'384': { head: 'e3e646d4e39695b398d719c3340345c8f53750bc' },
|
||||
'387': { head: '84a97cf3471a039bbde45491d5db8eb470b3373e' },
|
||||
'392': { head: '4572f4895e11712ba620097cb504195abc060df2' },
|
||||
'394': { head: 'e34797ed62a4f5f7bab841a0982b3138300d637c' },
|
||||
'395': { head: 'c2a04219cf41346bfa2f4871eda8915d43f38f09' },
|
||||
'398': { head: '0e3f93ad95a57e2dbc3360c26292dacb767f8f54' },
|
||||
'402': { head: '9cebcd69efd4587e3ac56b23e488fbbc9b359f48' },
|
||||
'417': { head: '59a6c75f86de2cb080839910fa9395ccf1089083' },
|
||||
'418': { head: 'c2c491ab4bedea3be7b1a6aca8bb4e65a9d763db' },
|
||||
'420': { head: 'c9208456c2d0c8175d19290a50ccb6fdf95139bb' },
|
||||
'421': { head: '82277e5222154ff4463127681f2d18abb07d7f4a' },
|
||||
'422': { head: 'ace80d7f0b4b6e06a53b7d4bbad3eab28cd65915' },
|
||||
'430': { head: '117f22a385f0118eac2aa6ef8fedf4b29062e973' },
|
||||
'431': { head: '52d8932c29ccf051e2cd400493c38ff1c90f4ccb' },
|
||||
'432': { head: '18ac66eebce733b1112b419f9896cdfa2ede395a' },
|
||||
'435': { head: 'acad517e5ce23a82979a87155bb639f91098adaf' },
|
||||
'438': { head: 'b4c94415e8c7ee24cb3f8c0ba6e0536282121adf' },
|
||||
'441': { head: 'a674530614fbce03122c7d9c72712a6e7a23acb4' },
|
||||
'443': { head: '34cf94bc1650a6e909e9fa3ee88d5cc3cb46eec2' },
|
||||
'444': { head: '8049d92b3e9aef35e4f124e5ae361bdd1f5c5435' },
|
||||
'445': { head: '69c93dba3591d9404bc6b38d84aca731db84ad15' },
|
||||
'447': { head: 'a483b7a9f28c232d66a5c7596926e5c31af865e2' },
|
||||
'448': { head: '9c2c26c81c8c43bc1a834522bc085392c766e7e0' },
|
||||
'449': { head: '52f3bbe24e365b28f4bcd1e277d178a2561a1e8b' },
|
||||
'450': { head: 'fddedb324fbff0546c2cbe304fe95c8e254da6fb' },
|
||||
'451': { head: '17332ad1070bb6190bcd24f0a96cca823b4d8d26' },
|
||||
'452': { head: 'b357d95010f883bff0d1a92ba2390f4c0a50e8ec' },
|
||||
'453': { head: '3ac4190baf80ca6734a35acdfd5ac5f089acbe3e' },
|
||||
'454': { head: '3a5a625a1f498350b05eaa70066c9e77e32ee85f' },
|
||||
'455': { head: '98d4504577b586ef2398346a0db2743081cf03a8' },
|
||||
'457': { head: '72f86392dd7bf482f409dfe4dd00219ef422ad9c' },
|
||||
'458': { head: '4e01df47f2e594796ba6b36858cbe924533dd7aa' },
|
||||
'459': { head: '608f198b3ab87f83b2458e58c1f7dcc6a2beebc0' },
|
||||
'460': { head: 'f264f50f6c1ec488c1608bf69c463d57cc7ccca9' },
|
||||
'462': { head: '5d8c5b6d686b802c48ff52bfe72f188c92509f49' },
|
||||
'464': { head: 'f38741505acb528f609a8b269c911fc037a03fcc' },
|
||||
'465': { head: '318bb739dd64d19a4b4d91d8be49b22fc3403cff' },
|
||||
'468': { head: '117c7cc8a9bea5c9ef65bf00689e1917d91571ec' },
|
||||
'470': { head: '9f73278f8f7631bc53daba27ffdf84d96068c562' },
|
||||
'472': { head: '8cd138e181b63fa327b4b3caa3250fb1dce4b407' },
|
||||
'473': { head: '45a4253be8540240758a69eb8c0c103a3edde057' },
|
||||
'475': { head: 'b93b3d0cc8241e099fc508ffb1f9dace6ab8586a' },
|
||||
'476': { head: '639552074da609025ca6609350c90263ebe684e7' },
|
||||
'477': { head: 'dae10753450c75af10c300dbaf00653b15a27e87' },
|
||||
'478': { head: '9ec42e0f156e0f82068eabbab6ccbfd17549486a' },
|
||||
'481': { head: 'b11c6f57662624732501045e6cccf6b6188dacee' },
|
||||
'482': { head: '887d8d84223de495f0442baa9ae143c382747285' },
|
||||
'483': { head: '4cc123809f92db0a32f4fedbcbf4862484406da0' },
|
||||
'484': { head: '7cff50433386d8c7793884cddd1eb6e1c3c2681e' },
|
||||
'485': { head: '9ce1420b43db72da9d6a57bcc3d4ba478d614484' },
|
||||
'486': { head: '18714381a6257fd93c93344cb559fc409f6b1017' },
|
||||
'488': { head: 'ca45f8941e0b69582021d34061873c8752f76154' },
|
||||
'491': { head: 'e7bcde1188f02ac07e64f6b9a798e0b1ca1e049c' },
|
||||
'492': { head: '09f10b74034b040a6cb56640cd2c2f1027051b50' },
|
||||
'495': { head: 'a6396622cdb3af334c1ec044d5a699affa0dccc2' },
|
||||
'496': { head: 'e5ddd73878d170312580a9284edd5521a2115873' },
|
||||
'497': { head: '74909f788acd34051cf4d32e94b5bcfe1f2c292b' },
|
||||
'498': { head: '08c5864bbfcdc8238716ca8929a71554d08dabfd' },
|
||||
'499': { head: 'bc6896917a2e150adb5aa2a063f72fc85d2ab9f5' },
|
||||
'500': { head: 'ff0595d384a9b4e7656e0c44f327f7614e2a8fd6' },
|
||||
'501': { head: '81acc02e79365957d37e98fbe70887edccfebba6' },
|
||||
'503': { head: '145358ba831e7a90f275118a0556787754fe2fa6' },
|
||||
'505': { head: '1cf79ba882fb24eca13829c12f6e39584ccd1f5f' },
|
||||
'506': { head: '49f14868b5fa9bca4aa2f51ea2b70f9edae89cb6' },
|
||||
'507': { head: '726997c8d83f2a9dff3bb96685dd35ea555e7b8c' },
|
||||
'508': { head: 'a99ed5924ed00e195c0dacc036625bdb4d10f9a8' },
|
||||
'509': { head: '7d4023cf698bff82b2c0f2b4aad86286d4890b49' },
|
||||
'510': { head: 'fb9a434ada47e47e543f62e353c7375f93f82c39' },
|
||||
'523': { head: '0bdcae97d8d9b2b3afe725f9b857a9994d3b28fa' },
|
||||
'525': { head: 'ebe4099e7ea32b023edfc7a5559db5d1d5262e20' },
|
||||
'526': { head: '454f1c64dae6c213177007885e54a1ab497f4b1b' },
|
||||
'527': { head: '786c94fb869b6bbcf310e93f3068b795b177fc0b' },
|
||||
'529': { head: 'df6f615305180ef67c9daa25038af1bc91ff44b0' },
|
||||
'530': { head: '4f2e25226853830f157a2da79097c527030d42b4' },
|
||||
'531': { head: '0b57414998b5404f93209f5b06141911cc9af503' },
|
||||
'534': { head: 'bd4181e0321ec9db4dd6b304db51f5cf6566a484' },
|
||||
'537': { head: 'b515795919b7eb114032a441564512645fae489c' },
|
||||
'542': { head: '7ce304f9ee9946471d4ad11e78ea25149a05483f' },
|
||||
'543': { head: 'f6b1a4866e1c73aafe6decdc6bfc1d99653f2b64' },
|
||||
'547': { head: '9943cbae2e39a219cd5f889802d9db11aaefda5c' },
|
||||
'550': { head: '172076db9fa929c5b6dd20a733d15cf28ef092aa' },
|
||||
'551': { head: 'ff103cd4816ca50102c3bc10906695581c734f60' },
|
||||
'552': { head: '99a3da1ff1e25e76a2cbf19f2f3a3ff43b6be013' },
|
||||
'554': { head: '689068989bcda7bd099f920691dc388eae82bd9a' },
|
||||
'557': { head: '416efddbbac77ecad9be41bdafd36bdea89e25d5' },
|
||||
'563': { head: '3d72809db048911efec3d52106dd6968349ef4d1' },
|
||||
'569': { head: 'ce51c2de7c11b6368ce8956329f9ebbe4ffd1b67' },
|
||||
'593': { head: 'f00316a42943a9a75303658f8d646d35f9e8d1b9' },
|
||||
'613': { head: '155deaae3ea36460929db9c8f28f2b97a319f54c' },
|
||||
'625': { head: 'a027cf0843001dd2cb608c1c42cf643f48a56749' },
|
||||
'628': { head: '23ae1e8af491342ef3e4f899ed0bdb5dd1a1284a' },
|
||||
'631': { head: '30d4183095aa5dcdb9cbe00b1b48e45ca31424fe' },
|
||||
'633': { head: '54ba9a0faf46957c3da37366119e0dab52fc02cc' },
|
||||
'642': { head: 'c68a8ac90d822f74478cc36b6ba5a7e9ac225ee9' },
|
||||
'655': { head: '6da12e9e3387be62b5b00cba64d1fb4d2e1ac140' },
|
||||
'664': { head: 'e011000482dccb3e215d0eb895e280de6cda627e' },
|
||||
'667': { head: 'dc25ac7a87256a0470f523017ee790b29e9b6f2d' },
|
||||
'669': { head: 'd0b39e229426a336f71a0cc24f6319a47e2ce975' },
|
||||
'671': { head: 'aa0cd8e58d2effab424214d12ab2122ff39a0f4a' },
|
||||
'672': { head: '0cb3bd5f5aa0605835d7c785bd58e9d75b362fdd' },
|
||||
'673': { head: '97b0e9c8e673325545d2e55288d66a2dd99d1cc0' },
|
||||
'674': { head: '5d7a6efa13021da59a370bb011f4caf494b35da3' },
|
||||
'678': { head: '98d788b6df2e95725e2435fff8469deb3ff74e8c' },
|
||||
'679': { head: 'ea8ee4a153af424e238ed0e0772c32bfb0a881b1' },
|
||||
'682': { head: 'fd12dc4bd31ebe9dc6370ab150c39441ce4d6061' },
|
||||
'686': { head: 'd76b2b96872e3860af34b3256bc1df2189835829' },
|
||||
'703': { head: '3b0f6e396c4a1d53b1b046c416681da6229fbdce' },
|
||||
'708': { head: 'af28dba1f52990cb7b6c3c8f69f1f1bcf017c90a' },
|
||||
},
|
||||
};
|
||||
tags: {},
|
||||
pull: {},
|
||||
};
|
||||
},
|
||||
}));
|
||||
import { selectVersion } from './versions';
|
||||
import { Repo } from './interfaces';
|
||||
|
||||
describe('selectVersion', () => {
|
||||
it('should return correct version for latest', async () => {
|
||||
@@ -375,4 +387,12 @@ describe('selectVersion', () => {
|
||||
'Invalid sha value af28dba1f52990cb7b6c3c8f69f1f1bcf017c90g',
|
||||
);
|
||||
});
|
||||
|
||||
it('should return correct repo', async () => {
|
||||
await expect(selectVersion('my/xmake#branch@patch-1')).resolves.toEqual({
|
||||
version: 'patch-1',
|
||||
sha: '77cd51991f8b9c76e54d668103a06ca6c597e64a',
|
||||
type: 'heads',
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
+38
-27
@@ -1,17 +1,19 @@
|
||||
import * as core from '@actions/core';
|
||||
import * as semver from 'semver';
|
||||
import { lsRemote } from './git';
|
||||
import { RefDic, Sha, Version } from './interfaces';
|
||||
import { RefDic, Sha, Version, Repo } from './interfaces';
|
||||
|
||||
let VERSIONS: RefDic | undefined;
|
||||
|
||||
async function getVersions(): Promise<RefDic> {
|
||||
if (VERSIONS) return VERSIONS;
|
||||
return (VERSIONS = await lsRemote());
|
||||
const VERSIONS = new Map<Repo, RefDic>();
|
||||
async function getVersions(repo: Repo): Promise<RefDic> {
|
||||
const cache = VERSIONS.get(repo);
|
||||
if (cache) return cache;
|
||||
const result = await lsRemote(repo);
|
||||
VERSIONS.set(repo, result);
|
||||
return result;
|
||||
}
|
||||
|
||||
class VersionImpl implements Version {
|
||||
constructor(readonly version: string, readonly sha: Sha, readonly type: Version['type'], toString: string) {
|
||||
constructor(readonly repo: Repo, readonly version: string, readonly sha: Sha, readonly type: Version['type'], toString: string) {
|
||||
this.#string = toString;
|
||||
}
|
||||
readonly #string: string;
|
||||
@@ -20,63 +22,63 @@ class VersionImpl implements Version {
|
||||
}
|
||||
}
|
||||
|
||||
async function selectBranch(branch: string): Promise<Version> {
|
||||
const versions = await getVersions();
|
||||
async function selectBranch(repo: Repo, branch: string): Promise<Version> {
|
||||
const versions = await getVersions(repo);
|
||||
if (branch in versions.heads) {
|
||||
return new VersionImpl(branch, versions.heads[branch], 'heads', `branch ${branch}`);
|
||||
return new VersionImpl(repo, branch, versions.heads[branch], 'heads', `branch ${branch}`);
|
||||
}
|
||||
throw new Error(`Branch ${branch} not found`);
|
||||
}
|
||||
|
||||
async function selectPr(pr: number): Promise<Version> {
|
||||
const versions = await getVersions();
|
||||
async function selectPr(repo: Repo, pr: number): Promise<Version> {
|
||||
const versions = await getVersions(repo);
|
||||
if (pr in versions.pull) {
|
||||
const prheads = versions.pull[pr];
|
||||
const sha = prheads.merge ?? prheads.head;
|
||||
if (sha) {
|
||||
return new VersionImpl(`pr#${pr}`, sha, 'pull', `pull request #${pr}`);
|
||||
return new VersionImpl(repo, `pr#${pr}`, sha, 'pull', `pull request #${pr}`);
|
||||
}
|
||||
}
|
||||
throw new Error(`Pull requrest #${pr} not found`);
|
||||
}
|
||||
|
||||
async function selectSemver(version: string): Promise<Version> {
|
||||
async function selectSemver(repo: Repo, version: string): Promise<Version> {
|
||||
// check version valid
|
||||
const v = new semver.Range(version);
|
||||
if (!v) {
|
||||
throw new Error(`Invalid semver`);
|
||||
}
|
||||
|
||||
const versions = await getVersions();
|
||||
const versions = await getVersions(repo);
|
||||
const ver = semver.maxSatisfying(Object.keys(versions.tags), v);
|
||||
if (!ver) {
|
||||
throw new Error(`No matched releases of xmake-version ${v.format()}`);
|
||||
}
|
||||
|
||||
const sha = versions.tags[ver];
|
||||
return new VersionImpl(ver, sha, 'tags', ver);
|
||||
return new VersionImpl(repo, ver, sha, 'tags', ver);
|
||||
}
|
||||
|
||||
async function selectSha(sha: string): Promise<Version> {
|
||||
async function selectSha(repo: Repo, sha: string): Promise<Version> {
|
||||
const shaValue = Sha(sha);
|
||||
const versions = await getVersions();
|
||||
const versions = await getVersions(repo);
|
||||
for (const branch in versions.heads) {
|
||||
if (versions.heads[branch] === shaValue) {
|
||||
return selectBranch(branch);
|
||||
return selectBranch(repo, branch);
|
||||
}
|
||||
}
|
||||
for (const tag in versions.tags) {
|
||||
if (versions.tags[tag] === shaValue) {
|
||||
return selectSemver(tag);
|
||||
return selectSemver(repo, tag);
|
||||
}
|
||||
}
|
||||
for (const pr in versions.pull) {
|
||||
const prData = versions.pull[pr];
|
||||
if ((prData.merge ?? prData.head) === shaValue) {
|
||||
return selectPr(Number.parseInt(pr));
|
||||
return selectPr(repo, Number.parseInt(pr));
|
||||
}
|
||||
}
|
||||
return Promise.resolve(new VersionImpl(`sha#${shaValue}`, shaValue, 'sha', `commit ${shaValue.substr(0, 8)}`));
|
||||
return Promise.resolve(new VersionImpl(repo, `sha#${shaValue}`, shaValue, 'sha', `commit ${shaValue.substr(0, 8)}`));
|
||||
}
|
||||
|
||||
export async function selectVersion(version?: string): Promise<Version> {
|
||||
@@ -84,11 +86,20 @@ export async function selectVersion(version?: string): Promise<Version> {
|
||||
version = (version ?? core.getInput('xmake-version')) || 'latest';
|
||||
if (version.toLowerCase() === 'latest') version = '';
|
||||
|
||||
let repo = Repo('xmake-io/xmake');
|
||||
let ret: Version | undefined;
|
||||
{
|
||||
const match = /^([^/#]+\/[^/#]+)#(.+)$/.exec(version);
|
||||
if (match) {
|
||||
repo = Repo(match[1]);
|
||||
version = match[2];
|
||||
}
|
||||
}
|
||||
|
||||
// select branch
|
||||
if (version.startsWith('branch@')) {
|
||||
const branch = version.substr('branch@'.length);
|
||||
ret = await selectBranch(branch);
|
||||
ret = await selectBranch(repo, branch);
|
||||
}
|
||||
// select pr
|
||||
if (version.startsWith('pr@')) {
|
||||
@@ -96,20 +107,20 @@ export async function selectVersion(version?: string): Promise<Version> {
|
||||
if (Number.isNaN(pr) || pr <= 0) {
|
||||
throw new Error(`Invalid pull requrest ${version.substr('pr@'.length)}, should be a positive integer`);
|
||||
}
|
||||
ret = await selectPr(pr);
|
||||
ret = await selectPr(repo, pr);
|
||||
}
|
||||
// select sha
|
||||
if (version.startsWith('sha@')) {
|
||||
const sha = version.substr('sha@'.length);
|
||||
ret = await selectSha(sha);
|
||||
ret = await selectSha(repo, sha);
|
||||
}
|
||||
// select version
|
||||
if (semver.validRange(version)) {
|
||||
ret = await selectSemver(version);
|
||||
ret = await selectSemver(repo, version);
|
||||
}
|
||||
if (!ret) {
|
||||
throw new Error(`Invalid input xmake-version ${core.getInput('xmake-version')}`);
|
||||
}
|
||||
core.info(`Selected xmake ${ret} (commit: ${ret.sha.substr(0, 8)})`);
|
||||
core.info(`Selected xmake ${String(ret)} (commit: ${ret.sha.substr(0, 8)})`);
|
||||
return ret;
|
||||
}
|
||||
|
||||
+2
-2
@@ -41,7 +41,7 @@ export async function winInstall(version: Version): Promise<void> {
|
||||
const ver = version.version;
|
||||
let toolDir = toolCache.find('xmake', ver);
|
||||
if (!toolDir) {
|
||||
const installer = await core.group(`download xmake ${version}`, async () => {
|
||||
const installer = await core.group(`download xmake ${String(version)}`, async () => {
|
||||
const url = getInstallerUrl(version);
|
||||
core.info(`downloading from ${url}`);
|
||||
const file = await toolCache.downloadTool(url);
|
||||
@@ -50,7 +50,7 @@ export async function winInstall(version: Version): Promise<void> {
|
||||
core.info(`downloaded to ${exe}`);
|
||||
return exe;
|
||||
});
|
||||
toolDir = await core.group(`install xmake ${version}`, async () => {
|
||||
toolDir = await core.group(`install xmake ${String(version)}`, async () => {
|
||||
const binDir = path.join(os.tmpdir(), `xmake-${version.sha}`);
|
||||
core.info(`installing to ${binDir}`);
|
||||
await exec(`"${installer}" /NOADMIN /S /D=${binDir}`);
|
||||
|
||||
Reference in New Issue
Block a user