mirror of
https://github.com/Noratrieb/actions-playground.git
synced 2026-01-14 17:05:05 +01:00
30 lines
837 B
JavaScript
30 lines
837 B
JavaScript
const child_process = require('child_process');
|
|
|
|
const services = ['bar-service', 'foo-service'];
|
|
|
|
function latestCommitInDirectory(dirname) {
|
|
return String(child_process.execSync(`git log --pretty=format:%H -n 1 ${dirname}`));
|
|
}
|
|
|
|
const serviceVersions = {};
|
|
|
|
const currentCommit = latestCommitInDirectory('.');
|
|
|
|
for (const service of services) {
|
|
serviceVersions[service] = latestCommitInDirectory(service);
|
|
}
|
|
|
|
console.log(currentCommit);
|
|
console.log(serviceVersions);
|
|
|
|
let job_strategy_matrix = [];
|
|
Object.entries(serviceVersions).forEach(([name, version]) => {
|
|
const skip = version === currentCommit ? 'run' : 'skip';
|
|
|
|
console.log(`${name}::${skip}`);
|
|
if (version === currentCommit) {
|
|
job_strategy_matrix.push(name);
|
|
}
|
|
});
|
|
|
|
console.log(`::set-output name=job-strategy-matrix::["${job_strategy_matrix.join('", "')}"]`);
|