17 lines
759 B
JavaScript
17 lines
759 B
JavaScript
// Unknown identities and evidence from different container rows never prove a deployment.
|
|
export const compareDeploymentCommits = (local, remote) => {
|
|
const isCommit = (value) => /^[a-f0-9]{7,40}$/i.test(value ?? "");
|
|
if (!isCommit(local) || !isCommit(remote)) return "unknown";
|
|
return local.toLowerCase() === remote.toLowerCase() ? "current" : "stale";
|
|
};
|
|
|
|
export const isRunningContainer = (output, name, requiredPort) => output
|
|
.split(/\r?\n/)
|
|
.some((line) => {
|
|
const [actualName, ...fields] = line.trim().split(/\s+/);
|
|
const details = fields.join(" ");
|
|
return actualName === name && /^Up\b/.test(details)
|
|
&& !/\((?:unhealthy|health: starting)\)/.test(details)
|
|
&& (!requiredPort || details.includes(requiredPort));
|
|
});
|