Merge pull request #71 from pre-commit/pre-commit-ci-update-config
[airflow-pre-commit-action.git] / index.js
index 1d459184dd9c185b5b449359a072a8c85e87da15..9adf9a158501e6690f0aed2bc657b503273ada28 100644 (file)
--- a/index.js
+++ b/index.js
@@ -51,9 +51,11 @@ async function main() {
     const cachePaths = [path.join(os.homedir(), '.cache', 'pre-commit')];
     const py = getPythonVersion();
     const cacheKey = `pre-commit-2-${hashString(py)}-${hashFile('.pre-commit-config.yaml')}`;
-    await cache.restoreCache(cachePaths, cacheKey);
+    const restored = await cache.restoreCache(cachePaths, cacheKey);
     const ret = await exec.exec('pre-commit', args, {ignoreReturnCode: push});
-    await cache.saveCache(cachePaths, cacheKey);
+    if (!restored) {
+        await cache.saveCache(cachePaths, cacheKey);
+    }
 
     if (ret && push) {
         // actions do not run on pushes made by actions.
@@ -76,8 +78,7 @@ async function main() {
 
                 await exec.exec('git', ['commit', '-am', 'pre-commit fixes']);
                 const url = addToken(pr.head.repo.clone_url, token);
-                await exec.exec('git', ['remote', 'set-url', 'origin', url]);
-                await exec.exec('git', ['push', 'origin', 'HEAD']);
+                await exec.exec('git', ['push', url, 'HEAD']);
             });
         }
     }