From 0600c365511a5742830ee8e9e679db98f9a7b5bf Mon Sep 17 00:00:00 2001 From: James McDuffie Date: Wed, 14 Feb 2024 12:01:57 -0800 Subject: [PATCH] Attempt to add dotenv action locally --- .github/actions/dotenv_action.js | 27 +++++++++++++++++++++++++++ .github/workflows/docker-publish.yml | 2 +- 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 .github/actions/dotenv_action.js diff --git a/.github/actions/dotenv_action.js b/.github/actions/dotenv_action.js new file mode 100644 index 0000000..d8bd192 --- /dev/null +++ b/.github/actions/dotenv_action.js @@ -0,0 +1,27 @@ +const fs = require("fs"); + +let dotenv_action = function (dotenvFile, keysCase) { + if (!fs.existsSync(dotenvFile)) { + throw new Error("file does not exist"); + } + + const dotenv = require("dotenv").config({ path: dotenvFile }); + const dotenv_expand = require("dotenv-expand").expand(dotenv); + console.log("loading .env file from " + dotenvFile); + + const returnedMap = {}; + for (const key in dotenv_expand.parsed) { + const value = dotenv_expand.parsed[key]; + + if (keysCase == "bypass") { + returnedMap[key] = value; + } else if (keysCase == "upper") { + returnedMap[key.toLocaleUpperCase()] = value; + } else { + returnedMap[key.toLocaleLowerCase()] = value; + } + } + return returnedMap; +}; + +module.exports = dotenv_action; diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 7b2ffb2..edf3132 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -66,7 +66,7 @@ jobs: - name: DotEnv file id: dotenv - uses: actions/dotenv-action + uses: ./.github/actions/dotenv-action - name: Checkout repository uses: actions/checkout@v4