diff --git a/lib/workers/repository/index.js b/lib/workers/repository/index.js
index 548bd320862a074e837ddb5c84ef32bbc3833954..30ac2707a8b82338df97a4d12c6aee807b4e9022 100644
--- a/lib/workers/repository/index.js
+++ b/lib/workers/repository/index.js
@@ -5,7 +5,7 @@ const { ensureOnboardingPr } = require('./onboarding/pr');
 const { writeUpdates } = require('./write');
 const { handleError } = require('./error');
 const { finaliseRepo } = require('./finalise');
-
+const { processResult } = require('./result');
 const { resolvePackageFiles } = require('../../manager');
 
 module.exports = {
@@ -20,7 +20,6 @@ async function renovateRepository(repoConfig) {
   logger.trace({ config }, 'renovateRepository()');
   let commonConfig;
   let res;
-  let status;
   try {
     config = await initApis(config);
     config = await initRepo(config);
@@ -84,36 +83,6 @@ async function renovateRepository(repoConfig) {
   } catch (err) /* istanbul ignore next */ {
     res = await handleError(config, err);
   }
-  const disabledStatuses = [
-    'archived',
-    'blocked',
-    'disabled',
-    'forbidden',
-    'fork',
-    'no-package-files',
-    'not-found',
-    'renamed',
-    'uninitiated',
-  ];
-  const errorStatuses = [
-    'config-validation',
-    'error',
-    'unknown-error',
-    'not-found',
-  ];
-  // istanbul ignore next
-  if (disabledStatuses.includes(res)) {
-    status = 'disabled';
-  } else if (errorStatuses.includes(res)) {
-    status = 'error';
-  } else if (config.repoIsOnboarded) {
-    status = 'enabled';
-  } else {
-    status = 'onboarding';
-    if (res === 'onboarding') {
-      res = 'done';
-    }
-  }
   logger.info('Finished repository');
-  return { res, status };
+  return processResult(config, res);
 }
diff --git a/lib/workers/repository/result.js b/lib/workers/repository/result.js
new file mode 100644
index 0000000000000000000000000000000000000000..ee98917c872ac824b74eca9d38cc838efc38da2e
--- /dev/null
+++ b/lib/workers/repository/result.js
@@ -0,0 +1,41 @@
+module.exports = {
+  processResult,
+};
+
+function processResult(config, result) {
+  let res = result;
+  const disabledStatuses = [
+    'archived',
+    'blocked',
+    'disabled',
+    'forbidden',
+    'fork',
+    'no-package-files',
+    'not-found',
+    'renamed',
+    'uninitiated',
+  ];
+  const errorStatuses = [
+    'config-validation',
+    'error',
+    'unknown-error',
+    'not-found',
+  ];
+  let status;
+  // istanbul ignore next
+  if (disabledStatuses.includes(res)) {
+    status = 'disabled';
+  } else if (errorStatuses.includes(res)) {
+    status = 'error';
+  } else if (config.repoIsOnboarded) {
+    status = 'enabled';
+  } else {
+    status = 'onboarding';
+    if (result === 'onboarding') {
+      res = 'done';
+    } else {
+      res = result;
+    }
+  }
+  return { res, status };
+}