1
0
mirror of synced 2026-01-21 15:01:02 -05:00
Files
docs/src/workflows/action-context.js
2024-03-19 15:51:59 +00:00

30 lines
962 B
JavaScript

import { readFileSync } from 'fs'
// Parses the action event payload sets repo and owner to an object from runner environment
export function getActionContext() {
if (!process.env.GITHUB_EVENT_PATH) {
if (!process.env.CI) {
console.warn(
`
If you're trying to run this locally, to simulate this create a file like this:
echo '{"repository": {"owner": {"login": "github"}, "name": "docs-internal"}}' > /tmp/event-path.json
export GITHUB_EVENT_PATH=/tmp/event-path.json
`.trim(),
)
}
throw new Error('process.env.GITHUB_EVENT_PATH is not set')
}
const context = JSON.parse(readFileSync(process.env.GITHUB_EVENT_PATH, 'utf8'))
if (context.repository) {
context.owner = context.repository.owner.login
context.repo = context.repository.name
} else {
const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/')
context.owner = owner
context.repo = repo
}
return context
}