molybdenumsoftware / pr-tracker

A system for finding out which branches a GitHub pull request landed in
4 stars 0 forks source link

fix: ensure the cache directory exists #96

Closed jfly closed 5 months ago

jfly commented 5 months ago

Without this, we're seeing the fetcher crash on startup:

Jan 31 11:03:24 clark systemd[1]: Starting pr-tracker-fetcher...
Jan 31 11:03:25 clark pr-tracker-fetcher-start[324252]: Error: git Command { std: GIT_AUTHOR_EMAIL="pr-tracker@example.com" GIT_AUTHOR_NAME="PR Tracker" GIT_COMMITTER_EMAIL="pr-tracker@example.com" GIT_COMMITTER_NAME="PR Tracker" GIT_CONFIG_GLOBAL="/dev/null" GIT_CONFIG_SYSTEM="/dev/null" "git" "clone" "https://github>
Jan 31 11:03:25 clark pr-tracker-fetcher-start[324252]:  exited with Some(128)
Jan 31 11:03:25 clark pr-tracker-fetcher-start[324252]:  stderr: fatal: could not create leading directories of '/var/cache/pr-tracker-fetcher/repos/github.com/NixOS/nixpkgs'
Jan 31 11:03:25 clark systemd[1]: pr-tracker-fetcher.service: Main process exited, code=exited, status=1/FAILURE
Jan 31 11:03:25 clark systemd[1]: pr-tracker-fetcher.service: Failed with result 'exit-code'.

I patterned this off of the minidlna service in nixpkgs: https://github.com/NixOS/nixpkgs/blob/3a73796bf2edb1dc026257da827678117ee7af57/nixos/modules/services/networking/minidlna.nix

This CacheDirectory setting is documented here in the systemd docs, it creates a directory with the appropriate permissions underneath /var/cache.