diff --git a/packages/k8s/src/k8s/utils.ts b/packages/k8s/src/k8s/utils.ts index d3072b4..e2a23aa 100644 --- a/packages/k8s/src/k8s/utils.ts +++ b/packages/k8s/src/k8s/utils.ts @@ -22,16 +22,18 @@ export function containerVolumes( const workspacePath = process.env.GITHUB_WORKSPACE as string if (containerAction) { + const i = workspacePath.lastIndexOf('_work/') + const workspaceRelativePath = workspacePath.slice(i + '_work/'.length) mounts.push( { name: POD_VOLUME_NAME, mountPath: '/github/workspace', - subPath: workspacePath.substring(workspacePath.indexOf('work/') + 1) + subPath: workspaceRelativePath }, { name: POD_VOLUME_NAME, mountPath: '/github/file_commands', - subPath: workspacePath.substring(workspacePath.indexOf('work/') + 1) + subPath: '_temp/_runner_file_commands' } ) return mounts diff --git a/packages/k8s/tests/k8s-utils-test.ts b/packages/k8s/tests/k8s-utils-test.ts index cf30fda..3d79256 100644 --- a/packages/k8s/tests/k8s-utils-test.ts +++ b/packages/k8s/tests/k8s-utils-test.ts @@ -103,19 +103,22 @@ describe('k8s utils', () => { it('should have container action volumes', () => { let volumes = containerVolumes([], true, true) - expect( - volumes.find(e => e.mountPath === '/github/workspace') - ).toBeTruthy() - expect( - volumes.find(e => e.mountPath === '/github/file_commands') - ).toBeTruthy() + let workspace = volumes.find(e => e.mountPath === '/github/workspace') + let fileCommands = volumes.find( + e => e.mountPath === '/github/file_commands' + ) + expect(workspace).toBeTruthy() + expect(workspace?.subPath).toBe('repo/repo') + expect(fileCommands).toBeTruthy() + expect(fileCommands?.subPath).toBe('_temp/_runner_file_commands') + volumes = containerVolumes([], false, true) - expect( - volumes.find(e => e.mountPath === '/github/workspace') - ).toBeTruthy() - expect( - volumes.find(e => e.mountPath === '/github/file_commands') - ).toBeTruthy() + workspace = volumes.find(e => e.mountPath === '/github/workspace') + fileCommands = volumes.find(e => e.mountPath === '/github/file_commands') + expect(workspace).toBeTruthy() + expect(workspace?.subPath).toBe('repo/repo') + expect(fileCommands).toBeTruthy() + expect(fileCommands?.subPath).toBe('_temp/_runner_file_commands') }) it('should have externals, github home and github workflow mounts if job container', () => {