mirror of
https://github.com/actions/github-script.git
synced 2026-04-08 07:00:05 +00:00
Run script in GITHUB_WORKSPACE directory
Change to the GITHUB_WORKSPACE directory before running the script so that callers do not have to exlicitly use the GITHUB_WORKSPACE environment variable when requiring script files. Workflow run steps are run within the GITHUB_WORKSPACE so this seems like the expected default.
This commit is contained in:
parent
f05a81df23
commit
7dc493a321
4 changed files with 73 additions and 6 deletions
|
|
@ -25,4 +25,48 @@ describe('callAsyncFunction', () => {
|
|||
test('can access console', async () => {
|
||||
await callAsyncFunction({} as any, 'console')
|
||||
})
|
||||
|
||||
describe('change directory', () => {
|
||||
const MOCK_CWD = '/path/to/action'
|
||||
const MOCK_GITHUB_WORKSPACE = '/path/to/code'
|
||||
const PREV_GITHUB_WORKSPACE = process.env.GITHUB_WORKSPACE
|
||||
|
||||
let chdir: jest.SpyInstance
|
||||
|
||||
beforeEach(() => {
|
||||
jest.resetModules()
|
||||
jest.clearAllMocks()
|
||||
|
||||
let cwd = MOCK_CWD
|
||||
|
||||
chdir = jest.spyOn(process, 'chdir').mockImplementation(directory => {
|
||||
cwd = directory
|
||||
})
|
||||
jest.spyOn(process, 'cwd').mockImplementation(() => {
|
||||
return cwd
|
||||
})
|
||||
})
|
||||
|
||||
afterAll(() => {
|
||||
process.env.GITHUB_WORKSPACE = PREV_GITHUB_WORKSPACE
|
||||
})
|
||||
|
||||
test('changes to GITHUB_WORKSPACE if environment variable is set', async () => {
|
||||
process.env.GITHUB_WORKSPACE = MOCK_GITHUB_WORKSPACE
|
||||
|
||||
await callAsyncFunction({} as any, 'process')
|
||||
|
||||
expect(chdir.mock.calls.length).toBe(2)
|
||||
expect(chdir.mock.calls[0][0]).toBe(MOCK_GITHUB_WORKSPACE)
|
||||
expect(chdir.mock.calls[1][0]).toBe(MOCK_CWD)
|
||||
})
|
||||
|
||||
test('does not change directory if GITHUB_WORKSPACE is not set', async () => {
|
||||
delete process.env.GITHUB_WORKSPACE
|
||||
|
||||
await callAsyncFunction({} as any, 'process')
|
||||
|
||||
expect(chdir.mock.calls.length).toBe(0)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue