verifyArtifact method

Future<bool> verifyArtifact({
  1. required String artifactPath,
  2. String? expectedChecksum,
})

Verifies artifact existence, readability, non-zero size, and optional expectedChecksum.

Implementation

Future<bool> verifyArtifact({
  required String artifactPath,
  String? expectedChecksum,
}) async {
  final file = File(artifactPath);
  if (!await file.exists()) return false;
  final stat = await file.stat();
  if (stat.size <= 0) return false;

  if (expectedChecksum != null && expectedChecksum.isNotEmpty) {
    final actualHash = await computeSha256(artifactPath);
    if (actualHash != expectedChecksum) {
      return false;
    }
  }
  return true;
}