Homebrew имеет несколько уровней фильтрации переменных среды. Первое, что встречается, относится к предыдущей версии вашего вопроса, где у вас была переменная GITLAB_HOMEBREW_TOKEN
. начальная фильтрация Homebrew позволяет только определенным переменным среды проходить через команды brew
, чтобы избежать загрязнения среды сборки. Таким образом, GITLAB_HOMEBREW_TOKEN
не будет передано, потому что оно не начинается с HOMEBREW_
(или не соответствует никаким другим переменным из белого списка).
Второй уровень фильтрации - это тот, который вы в данный момент используете, когда «чувствительные» переменные среды фильтруются , если они соответствуют следующему регулярному выражению Ruby:
/(cookie|key|token|password)/i
Поскольку ваша переменная имеет ключевое слово TOKEN
в имени переменной, она отфильтровывается до того, как достигает вашей формулы.
Короче говоря, вам нужно использовать другое имя переменной среды, которое начинается с с HOMEBREW_
, например:
HOMEBREW_GITLAB_SECRET=secretsquirrel brew install Pouet
и вы получите доступ к этому в коде Ruby вашей Формулы.
См. Также https://docs.brew.sh/Formula-Cookbook#using-environment-variables для справки о типах фильтрации переменных среды, которая существует.