diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml
index ea946fd..ec093ea 100644
--- a/.github/workflows/workflow.yml
+++ b/.github/workflows/workflow.yml
@@ -42,6 +42,10 @@ jobs:
         uses: ./
         with:
           dotnet-version: 3.0.100
+          # We are including this veriable to force the generation of the nuget config file to verify that it is created in the correct place
+          source-url: https://api.nuget.org/v3/index.json
+        env:
+          NUGET_AUTH_TOKEN: NOTATOKEN
       - name: Verify dotnet
         if: runner.os != 'windows'
         run: __tests__/verify-dotnet.sh 3.0.100
@@ -70,6 +74,9 @@ jobs:
         uses: ./
         with:
           dotnet-version: 3.0.100
+          source-url: https://api.nuget.org/v3/index.json
+        env:
+          NUGET_AUTH_TOKEN: NOTATOKEN
       - name: Verify dotnet
         run: __tests__/verify-dotnet.sh 3.0.100
 
@@ -87,5 +94,8 @@ jobs:
         uses: ./
         with:
           dotnet-version: 3.0.100
+          source-url: https://api.nuget.org/v3/index.json
+        env:
+          NUGET_AUTH_TOKEN: NOTATOKEN
       - name: Verify dotnet
         run: __tests__/verify-dotnet.sh 3.0.100
diff --git a/__tests__/authutil.test.ts b/__tests__/authutil.test.ts
index 0ed596d..cf0b52a 100644
--- a/__tests__/authutil.test.ts
+++ b/__tests__/authutil.test.ts
@@ -75,7 +75,6 @@ const azureartifactsnugetorgNuGetConfig: string = `<?xml version="1.0" encoding=
 const nugetConfigFile = path.join(fakeSourcesDirForTesting, '../nuget.config');
 
 process.env['GITHUB_REPOSITORY'] = 'OwnerName/repo';
-process.env['RUNNER_TEMP'] = fakeSourcesDirForTesting;
 import * as auth from '../src/authutil';
 
 describe('authutil tests', () => {
@@ -95,7 +94,9 @@ describe('authutil tests', () => {
   it('No existing config, sets up a full NuGet.config with URL and user/PAT for GPR', async () => {
     process.env['NUGET_AUTH_TOKEN'] = 'TEST_FAKE_AUTH_TOKEN';
     await auth.configAuthentication(
-      'https://nuget.pkg.github.com/OwnerName/index.json'
+      'https://nuget.pkg.github.com/OwnerName/index.json',
+      '',
+      fakeSourcesDirForTesting
     );
     expect(fs.existsSync(nugetConfigFile)).toBe(true);
     expect(
@@ -107,7 +108,9 @@ describe('authutil tests', () => {
     let thrown = false;
     try {
       await auth.configAuthentication(
-        'https://nuget.pkg.github.com/OwnerName/index.json'
+        'https://nuget.pkg.github.com/OwnerName/index.json',
+        '',
+        fakeSourcesDirForTesting
       );
     } catch {
       thrown = true;
@@ -119,7 +122,9 @@ describe('authutil tests', () => {
     process.env['NUGET_AUTH_TOKEN'] = 'TEST_FAKE_AUTH_TOKEN';
     process.env['INPUT_OWNER'] = 'otherorg';
     await auth.configAuthentication(
-      'https://nuget.pkg.github.com/otherorg/index.json'
+      'https://nuget.pkg.github.com/otherorg/index.json',
+      '',
+      fakeSourcesDirForTesting
     );
     expect(fs.existsSync(nugetConfigFile)).toBe(true);
     expect(
@@ -137,7 +142,9 @@ describe('authutil tests', () => {
     let thrown = false;
     try {
       await auth.configAuthentication(
-        'https://nuget.pkg.github.com/OwnerName/index.json'
+        'https://nuget.pkg.github.com/OwnerName/index.json',
+        '',
+        fakeSourcesDirForTesting
       );
     } catch {
       thrown = true;
@@ -153,7 +160,9 @@ describe('authutil tests', () => {
     );
     fs.writeFileSync(inputNuGetConfigPath, emptyNuGetConfig);
     await auth.configAuthentication(
-      'https://nuget.pkg.github.com/OwnerName/index.json'
+      'https://nuget.pkg.github.com/OwnerName/index.json',
+      '',
+      fakeSourcesDirForTesting
     );
     expect(fs.existsSync(nugetConfigFile)).toBe(true);
     expect(
@@ -169,7 +178,9 @@ describe('authutil tests', () => {
     );
     fs.writeFileSync(inputNuGetConfigPath, nugetorgNuGetConfig);
     await auth.configAuthentication(
-      'https://nuget.pkg.github.com/OwnerName/index.json'
+      'https://nuget.pkg.github.com/OwnerName/index.json',
+      '',
+      fakeSourcesDirForTesting
     );
     expect(fs.existsSync(nugetConfigFile)).toBe(true);
     expect(
@@ -185,7 +196,9 @@ describe('authutil tests', () => {
     );
     fs.writeFileSync(inputNuGetConfigPath, gprNuGetConfig);
     await auth.configAuthentication(
-      'https://nuget.pkg.github.com/OwnerName/index.json'
+      'https://nuget.pkg.github.com/OwnerName/index.json',
+      '',
+      fakeSourcesDirForTesting
     );
     expect(fs.existsSync(nugetConfigFile)).toBe(true);
     expect(
@@ -201,7 +214,9 @@ describe('authutil tests', () => {
     );
     fs.writeFileSync(inputNuGetConfigPath, gprnugetorgNuGetConfig);
     await auth.configAuthentication(
-      'https://nuget.pkg.github.com/OwnerName/index.json'
+      'https://nuget.pkg.github.com/OwnerName/index.json',
+      '',
+      fakeSourcesDirForTesting
     );
     expect(fs.existsSync(nugetConfigFile)).toBe(true);
     expect(
@@ -216,7 +231,11 @@ describe('authutil tests', () => {
       'nuget.config'
     );
     fs.writeFileSync(inputNuGetConfigPath, twogprNuGetConfig);
-    await auth.configAuthentication('https://nuget.pkg.github.com');
+    await auth.configAuthentication(
+      'https://nuget.pkg.github.com',
+      '',
+      fakeSourcesDirForTesting
+    );
     expect(fs.existsSync(nugetConfigFile)).toBe(true);
     expect(
       fs.readFileSync(nugetConfigFile, {encoding: 'utf8'})
@@ -233,7 +252,9 @@ describe('authutil tests', () => {
     let thrown = false;
     try {
       await auth.configAuthentication(
-        'https://nuget.pkg.github.com/OwnerName/index.json'
+        'https://nuget.pkg.github.com/OwnerName/index.json',
+        '',
+        fakeSourcesDirForTesting
       );
     } catch {
       thrown = true;
@@ -255,7 +276,8 @@ describe('authutil tests', () => {
     fs.writeFileSync(inputNuGetConfigPath, gprNuGetConfig);
     await auth.configAuthentication(
       'https://nuget.pkg.github.com/OwnerName/index.json',
-      'subfolder/nuget.config'
+      'subfolder/nuget.config',
+      fakeSourcesDirForTesting
     );
     expect(fs.existsSync(nugetConfigFile)).toBe(true);
     expect(
@@ -271,7 +293,9 @@ describe('authutil tests', () => {
     );
     fs.writeFileSync(inputNuGetConfigPath, azureartifactsNuGetConfig);
     await auth.configAuthentication(
-      'https://pkgs.dev.azure.com/amullans/_packaging/GitHubBuilds/nuget/v3/index.json'
+      'https://pkgs.dev.azure.com/amullans/_packaging/GitHubBuilds/nuget/v3/index.json',
+      '',
+      fakeSourcesDirForTesting
     );
     expect(fs.existsSync(nugetConfigFile)).toBe(true);
     expect(
@@ -287,7 +311,9 @@ describe('authutil tests', () => {
     );
     fs.writeFileSync(inputNuGetConfigPath, azureartifactsnugetorgNuGetConfig);
     await auth.configAuthentication(
-      'https://pkgs.dev.azure.com/amullans/_packaging/GitHubBuilds/nuget/v3/index.json'
+      'https://pkgs.dev.azure.com/amullans/_packaging/GitHubBuilds/nuget/v3/index.json',
+      '',
+      fakeSourcesDirForTesting
     );
     expect(fs.existsSync(nugetConfigFile)).toBe(true);
     expect(
@@ -298,7 +324,9 @@ describe('authutil tests', () => {
   it('No existing config, sets up a full NuGet.config with URL and token for other source', async () => {
     process.env['NUGET_AUTH_TOKEN'] = 'TEST_FAKE_AUTH_TOKEN';
     await auth.configAuthentication(
-      'https://pkgs.dev.azure.com/amullans/_packaging/GitHubBuilds/nuget/v3/index.json'
+      'https://pkgs.dev.azure.com/amullans/_packaging/GitHubBuilds/nuget/v3/index.json',
+      '',
+      fakeSourcesDirForTesting
     );
     expect(fs.existsSync(nugetConfigFile)).toBe(true);
     expect(
diff --git a/__tests__/verify-dotnet.ps1 b/__tests__/verify-dotnet.ps1
index d3f0303..3bf68ca 100755
--- a/__tests__/verify-dotnet.ps1
+++ b/__tests__/verify-dotnet.ps1
@@ -3,6 +3,11 @@ if (!$args[0])
   throw "Must supply dotnet version argument"
 }
 
+if (-Not (Test-Path "../nuget.config"))
+{
+  throw "nuget file not generated correctly"
+}
+
 $dotnet = Get-Command dotnet | Select-Object -First 1 | ForEach-Object { $_.Path }
 Write-Host "Found '$dotnet'"
 
diff --git a/__tests__/verify-dotnet.sh b/__tests__/verify-dotnet.sh
index f314c9a..21d02b1 100755
--- a/__tests__/verify-dotnet.sh
+++ b/__tests__/verify-dotnet.sh
@@ -3,6 +3,11 @@ if [ -z "$1" ]; then
   exit 1
 fi
 
+if [ ! -f "../nuget.config" ]; then
+  echo "nuget file not generated correctly"
+  exit 1
+fi
+
 dotnet_version="$(dotnet --version)"
 echo "Found dotnet version '$dotnet_version'"
 if [ -z "$(echo $dotnet_version | grep $1)" ]; then
diff --git a/dist/index.js b/dist/index.js
index d43543b..831f219 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -4964,9 +4964,9 @@ const core = __importStar(__webpack_require__(470));
 const github = __importStar(__webpack_require__(469));
 const xmlbuilder = __importStar(__webpack_require__(312));
 const xmlParser = __importStar(__webpack_require__(989));
-function configAuthentication(feedUrl, existingFileLocation = '') {
-    const existingNuGetConfig = path.resolve(process.env['RUNNER_TEMP'] || process.cwd(), existingFileLocation == '' ? 'nuget.config' : existingFileLocation);
-    const tempNuGetConfig = path.resolve(process.env['RUNNER_TEMP'] || process.cwd(), '../', 'nuget.config');
+function configAuthentication(feedUrl, existingFileLocation = '', processRoot = process.cwd()) {
+    const existingNuGetConfig = path.resolve(processRoot, existingFileLocation == '' ? 'nuget.config' : existingFileLocation);
+    const tempNuGetConfig = path.resolve(processRoot, '../', 'nuget.config');
     writeFeedToFile(feedUrl, existingNuGetConfig, tempNuGetConfig);
 }
 exports.configAuthentication = configAuthentication;
diff --git a/src/authutil.ts b/src/authutil.ts
index 69f3750..463f0d3 100644
--- a/src/authutil.ts
+++ b/src/authutil.ts
@@ -4,18 +4,20 @@ import * as core from '@actions/core';
 import * as github from '@actions/github';
 import * as xmlbuilder from 'xmlbuilder';
 import * as xmlParser from 'fast-xml-parser';
+import {ProcessEnvOptions} from 'child_process';
 
 export function configAuthentication(
   feedUrl: string,
-  existingFileLocation: string = ''
+  existingFileLocation: string = '',
+  processRoot: string = process.cwd()
 ) {
   const existingNuGetConfig: string = path.resolve(
-    process.env['RUNNER_TEMP'] || process.cwd(),
+    processRoot,
     existingFileLocation == '' ? 'nuget.config' : existingFileLocation
   );
 
   const tempNuGetConfig: string = path.resolve(
-    process.env['RUNNER_TEMP'] || process.cwd(),
+    processRoot,
     '../',
     'nuget.config'
   );