Я создаю проект Haskell с Nix, с CI, выполненным сервером Hydra. Одна вещь, которую я хотел бы сделать, — это встроить git SHA в само приложение, чтобы SHA можно было включить в наши отчеты об исключениях и в качестве заголовка в ответах HTTP (чтобы проверить, работает ли последний сервер).
SHA легко получить из каталога .git
в моей среде разработки, используя такой пакет, как https://hackage.haskell.org/package/gitrev, но похоже, что Hydra не имеет этого каталога после клонирования (я добавил несколько журналов Template Haskell, которые подтвердили, что doesDirectoryExist <PWD>.git
является ложным).
Есть ли способ как-то получить git SHA от Hydra? Либо включив каталог git, чтобы я мог сам получить SHA, либо каким-то другим способом?
Версия Hydra: SNAPSHOT-b11789f39993c614e53da39c29711b63cd266291 (с использованием nix-2.0.4)
Редактировать: я также подключился к рабочему серверу и подтвердил, что нет каталога .git
, где выполняется сборка:
[maximiliantagher@ip-10-0-2-46:/tmp]$ sudo ls -a nix-build-mercury-web-backend-0.0.0.drv-0/szjq4m1zklbydw7wrz7dbbxl9ndw0d0f-source
. app db Dockerfile Gemfile.lock .ghcid Makefile one-off-task README.md shell.nix stack.yaml
.. config .dir-locals.el docs gemset.nix .gitignore mercury-web-backend.cabal package.yaml release.nix sql-scripts templates
API-Spec data dist Gemfile .ghci .hlint.yaml .nix Rakefile Setup src test