From 416d8b5e431d1cbc513a2afc9d1bf52b675da751 Mon Sep 17 00:00:00 2001
From: Josh Gross <jogros@microsoft.com>
Date: Tue, 5 Nov 2019 17:53:57 -0500
Subject: [PATCH] Move archive file size to utils

---
 src/restore.ts           | 7 +++----
 src/utils/actionUtils.ts | 5 +++++
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/restore.ts b/src/restore.ts
index 060c8d4..4080098 100644
--- a/src/restore.ts
+++ b/src/restore.ts
@@ -2,7 +2,6 @@ import * as core from "@actions/core";
 import { exec } from "@actions/exec";
 import * as io from "@actions/io";
 
-import * as fs from "fs";
 import * as path from "path";
 
 import * as cacheHttpClient from "./cacheHttpClient";
@@ -72,6 +71,9 @@ async function run() {
             // Download the cache from the cache entry
             await cacheHttpClient.downloadCache(cacheEntry, archivePath);
 
+            const archiveFileSize = utils.getArchiveFileSize(archivePath);
+            core.debug(`File Size: ${archiveFileSize}`);
+
             io.mkdirP(cachePath);
 
             // http://man7.org/linux/man-pages/man1/tar.1.html
@@ -89,9 +91,6 @@ async function run() {
             const tarPath = await io.which("tar", true);
             core.debug(`Tar Path: ${tarPath}`);
 
-            const archiveFileSize = fs.statSync(archivePath).size;
-            core.debug(`File Size: ${archiveFileSize}`);
-
             await exec(`"${tarPath}"`, args);
 
             const isExactKeyMatch = utils.isExactKeyMatch(
diff --git a/src/utils/actionUtils.ts b/src/utils/actionUtils.ts
index d4d7638..9ad0072 100644
--- a/src/utils/actionUtils.ts
+++ b/src/utils/actionUtils.ts
@@ -1,5 +1,6 @@
 import * as core from "@actions/core";
 import * as io from "@actions/io";
+import * as fs from "fs";
 import * as os from "os";
 import * as path from "path";
 import * as uuidV4 from "uuid/v4";
@@ -32,6 +33,10 @@ export async function createTempDirectory(): Promise<string> {
     return dest;
 }
 
+export function getArchiveFileSize(path: string): number {
+    return fs.statSync(path).size;
+}
+
 export function isExactKeyMatch(
     key: string,
     cacheResult?: ArtifactCacheEntry