[env] LAST_FM_USER = 'change-me' LAST_FM_API_KEY = 'change-me' OPENAI_KEY = 'change-me' FLUXON_KEY_FINGERPRINT = 'change-me' FLUXON_LICENSE_KEY = 'change-me' DBUI_URL = 'sqlite:data/music_library_dev.db' [tools] hurl = 'latest' sqlite = 'latest' gh = 'latest' # PUBLIC TASKS # CI [tasks."ci:watch"] description = "Monitor CI status" run = "gh run watch" # PRODUCTION [tasks."prod:console"] description = 'Open an ssh console to the production env' run = 'ssh music-library-prod' [tasks."prod:prune-backups"] confirm = 'Are you sure you want to delete all downloaded database backups?' description = 'Deletes all downloaded database backups' run = 'rm data/music_library_prod*' [tasks."prod:test"] description = 'Run HTTP tests against production' run = 'hurl --test test/prod.hurl' [tasks."prod:deploy"] description = 'Deploy on production and monitor' run = """ hurl --test --progress-bar scripts/deploy.hurl """ # GIT TOOLING [tasks.static-checks-hook] description = ''' Pre-commit task to ensure code conforms to static checks policies. Install with `mise generate git-pre-commit --write --task=static-checks-hook` ''' run = 'mix do format --check-formatted, credo --strict, gettext.extract --check-up-to-date' hide = true # DEVELOPMENT/TEST [tasks."dev:static-checks"] description = 'Run static checks for code formatting, translations, quality' run = 'mix do format, credo, gettext.extract --merge' [tasks.test] description = 'Run project tests' run = 'mix test' [tasks."dev:console"] description = 'Run the application attached to an IEx console' run = 'iex -S mix phx.server' [tasks."dev:readme-preview"] description = 'Preview the README file via a GH flavoured markdown rendered' run = 'gh gfm-preview README.md' [tasks."dev:fix-translations-conflict"] run = [ 'git co --theirs priv/gettext/default.pot', 'git co --theirs priv/gettext/en/LC_MESSAGES/default.po', 'mix gettext.extract --merge', ] # DOCKER [tasks."docker:build"] description = 'Builds and tags the application Docker image' run = 'docker compose build' [tasks."docker:push"] description = 'Push the image to the registry' run = 'docker compose push'