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
diff options
context:
space:
mode:
Diffstat (limited to 'src/workflow-context-helper.ts')
-rw-r--r--src/workflow-context-helper.ts30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/workflow-context-helper.ts b/src/workflow-context-helper.ts
new file mode 100644
index 0000000..c7d7918
--- /dev/null
+++ b/src/workflow-context-helper.ts
@@ -0,0 +1,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}`
+ )
+ }
+}