mirror of
https://github.com/actions/runner-container-hooks.git
synced 2025-12-14 08:36:45 +00:00
Mount /github/workflow to docker action pods (#137)
* Mount /github/workflow to docker action pods, the same way as for container job pods * Adjust tests
This commit is contained in:
@@ -41,6 +41,11 @@ export function containerVolumes(
|
|||||||
name: POD_VOLUME_NAME,
|
name: POD_VOLUME_NAME,
|
||||||
mountPath: '/github/file_commands',
|
mountPath: '/github/file_commands',
|
||||||
subPath: '_temp/_runner_file_commands'
|
subPath: '_temp/_runner_file_commands'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: POD_VOLUME_NAME,
|
||||||
|
mountPath: '/github/workflow',
|
||||||
|
subPath: '_temp/_github_workflow'
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
return mounts
|
return mounts
|
||||||
|
|||||||
@@ -185,6 +185,20 @@ describe('k8s utils', () => {
|
|||||||
expect(volumes.find(e => e.mountPath === '/__w')).toBeTruthy()
|
expect(volumes.find(e => e.mountPath === '/__w')).toBeTruthy()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('should always have /github/workflow mount if working on container job or container action', () => {
|
||||||
|
let volumes = containerVolumes([], true, true)
|
||||||
|
expect(volumes.find(e => e.mountPath === '/github/workflow')).toBeTruthy()
|
||||||
|
volumes = containerVolumes([], true, false)
|
||||||
|
expect(volumes.find(e => e.mountPath === '/github/workflow')).toBeTruthy()
|
||||||
|
volumes = containerVolumes([], false, true)
|
||||||
|
expect(volumes.find(e => e.mountPath === '/github/workflow')).toBeTruthy()
|
||||||
|
|
||||||
|
volumes = containerVolumes([], false, false)
|
||||||
|
expect(
|
||||||
|
volumes.find(e => e.mountPath === '/github/workflow')
|
||||||
|
).toBeUndefined()
|
||||||
|
})
|
||||||
|
|
||||||
it('should have container action volumes', () => {
|
it('should have container action volumes', () => {
|
||||||
let volumes = containerVolumes([], true, true)
|
let volumes = containerVolumes([], true, true)
|
||||||
let workspace = volumes.find(e => e.mountPath === '/github/workspace')
|
let workspace = volumes.find(e => e.mountPath === '/github/workspace')
|
||||||
@@ -205,11 +219,10 @@ describe('k8s utils', () => {
|
|||||||
expect(fileCommands?.subPath).toBe('_temp/_runner_file_commands')
|
expect(fileCommands?.subPath).toBe('_temp/_runner_file_commands')
|
||||||
})
|
})
|
||||||
|
|
||||||
it('should have externals, github home and github workflow mounts if job container', () => {
|
it('should have externals, github home mounts if job container', () => {
|
||||||
const volumes = containerVolumes()
|
const volumes = containerVolumes()
|
||||||
expect(volumes.find(e => e.mountPath === '/__e')).toBeTruthy()
|
expect(volumes.find(e => e.mountPath === '/__e')).toBeTruthy()
|
||||||
expect(volumes.find(e => e.mountPath === '/github/home')).toBeTruthy()
|
expect(volumes.find(e => e.mountPath === '/github/home')).toBeTruthy()
|
||||||
expect(volumes.find(e => e.mountPath === '/github/workflow')).toBeTruthy()
|
|
||||||
})
|
})
|
||||||
|
|
||||||
it('should throw if user volume source volume path is not in workspace', () => {
|
it('should throw if user volume source volume path is not in workspace', () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user