Read-only mirror — the public repositories of the Forgejo instance, refreshed every 10 minutes. The live instance (fg.dieschoenewolke.de) is reachable only over the VPN; clone here with https://git.dieschoenewolke.de/git/<owner>/<repo>.git.
summaryrefslogtreecommitdiff
path: root/src/workflow-context-helper.ts
blob: c7d7918f93b6c9bb878d3849dd761049c94452e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import * as core from '@actions/core'
import * as fs from 'fs'

/**
 * Gets the organization ID of the running workflow or undefined if the value cannot be loaded from the GITHUB_EVENT_PATH
 */
export async function getOrganizationId(): Promise<number | undefined> {
  try {
    const eventPath = process.env.GITHUB_EVENT_PATH
    if (!eventPath) {
      core.debug(`GITHUB_EVENT_PATH is not defined`)
      return
    }

    const content = await fs.promises.readFile(eventPath, {encoding: 'utf8'})
    const event = JSON.parse(content)
    const id = event?.repository?.owner?.id
    if (typeof id !== 'number') {
      core.debug('Repository owner ID not found within GITHUB event info')
      return
    }

    return id as number
  } catch (err) {
    core.debug(
      `Unable to load organization ID from GITHUB_EVENT_PATH: ${(err as any)
        .message || err}`
    )
  }
}