5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-11-25 18:06:22 +00:00
panel/Taskfile.yaml

198 lines
5 KiB
YAML
Raw Normal View History

2024-01-08 17:17:48 +00:00
---
version: "3"
vars:
CURRENT_BRANCH:
sh: "git rev-parse --abbrev-ref HEAD"
shopt:
- "globstar"
dotenv:
2024-01-08 21:32:33 +00:00
- ".env.development"
2024-01-10 20:04:53 +00:00
- ".env"
- ".env.local"
- ".env.development.local"
2024-01-08 17:17:48 +00:00
tasks:
2024-01-08 18:06:07 +00:00
credentials:
desc: "Generate credentials file"
cmds:
- "cp --no-clobber config/credentials.yml.enc.ci config/credentials.yml.enc"
sources:
- "config/credentials.yml.enc.ci"
generates:
- "config/credentials.yml.enc"
2024-01-08 17:38:44 +00:00
gems:
desc: "Install gems"
2024-01-08 18:06:07 +00:00
deps:
- "credentials"
2024-01-08 17:38:44 +00:00
cmds:
- "{{.HAINISH}} bundle config set --local path './vendor'"
- "{{.HAINISH}} bundle install"
2024-01-08 17:38:44 +00:00
sources:
- "Gemfile"
generates:
- "Gemfile.lock"
status:
- "test -d vendor/ruby"
2024-01-08 17:40:05 +00:00
clean:
desc: "Clean"
cmds:
- "rm -rf _sites/test-* _deploy/test-* log/*.log tmp/cache tmp/letter_opener tmp/miniprofiler tmp/storage"
2024-01-08 17:58:48 +00:00
node-modules:
desc: "Install Node modules"
cmds:
- "{{.HAINISH}} yarn"
2024-01-08 17:58:48 +00:00
sources:
- "package.json"
- "yarn.lock"
status:
- "test -d node_modules"
2024-01-08 18:07:59 +00:00
assets:
desc: "Generate assets"
deps:
- "node-modules"
- "gems"
cmds:
- "git lfs fetch"
- "git lfs checkout"
- task: "rails"
vars:
CLI_ARGS: "webpacker:clobber RAILS_ENV=production"
- task: "rails"
vars:
CLI_ARGS: "assets:precompile RAILS_ENV=production"
- task: "rails"
vars:
CLI_ARGS: "assets:clean RAILS_ENV=production"
2024-01-08 18:07:59 +00:00
sources:
- "package.json"
- "yarn.lock"
- "app/assets/**/*"
- "app/javascript/**/*"
generates:
- "public/packs/manifest.json"
2024-01-08 18:39:32 +00:00
hosts:
desc: "Local DNS resolution for hostnames"
interactive: true
cmds:
- "echo -e \"127.0.0.1 panel.{{.SUTTY}} api.{{.SUTTY}} postgresql.{{.SUTTY}}\" | sudo tee -a /etc/hosts"
- "echo -e \"::1 panel.{{.SUTTY}} api.{{.SUTTY}} postgresql.{{.SUTTY}}\" | sudo tee -a /etc/hosts"
status:
- "grep -q \" panel.{{.SUTTY}} \" /etc/hosts"
2024-01-08 19:21:22 +00:00
database-init:
desc: "Database install"
cmds:
- "{{.HAINISH}} /usr/bin/initdb --locale en_US.utf8 -E UTF8 -D /var/lib/postgresql/{{.PGVER}}/data"
- "echo \"host all all samenet trust\" >> ../hain/var/lib/postgresql/{{.PGVER}}/data/pg_hba.conf"
- "echo \"listen_addresses = '*'\" >> ../hain/var/lib/postgresql/{{.PGVER}}/data/postgresql.conf"
- "echo \"external_pid_file = '{{.PGPID}}'\" >> ../hain/var/lib/postgresql/{{.PGVER}}/data/postgresql.conf"
- "install -dm755 ../hain/run/postgresql"
2024-01-08 19:21:22 +00:00
status:
- "test -d ../hain/var/lib/postgresql/{{.PGVER}}/data"
- "test -f ../hain/var/lib/postgresql/{{.PGVER}}/data/postgresql.conf"
database:
desc: "Database"
deps:
- "database-init"
cmds:
- "{{.HAINISH}} daemonize -c /var/lib/postgresql/{{.PGVER}}/data /usr/bin/postgres -D /var/lib/postgresql/{{.PGVER}}/data"
status:
- "test -f ../hain{{.PGPID}}"
- "pgrep -F ../hain{{.PGPID}}"
2024-01-08 19:55:58 +00:00
prepare:
desc: "Create database or run pending migrations"
deps:
- "database"
cmds:
- task: "rails"
vars:
CLI_ARGS: "db:prepare"
2024-01-08 19:55:58 +00:00
serve:
desc: "Run Rails development server"
deps:
- "prepare"
- "gems"
cmds:
- ": == Development server running at https://panel.{{.SUTTY_WITH_PORT}} =="
- task: "rails"
vars:
CLI_ARGS: "server"
2024-01-08 19:55:58 +00:00
status:
- "test -f tmp/pids/server.pid"
- "pgrep -F tmp/pids/server.pid"
2024-01-08 20:25:00 +00:00
yarn:
desc: "Yarn. Call with: go-task yarn -- arguments"
deps:
- "node-modules"
cmds:
- "{{.HAINISH}} yarn {{.CLI_ARGS}}"
- defer:
task: "notify"
2024-01-08 20:25:00 +00:00
bundle:
desc: "Bundle. Call with: go-task bundle -- arguments"
interactive: true
2024-01-08 20:25:00 +00:00
deps:
- "gems"
cmds:
- "{{.HAINISH}} bundle {{.CLI_ARGS}}"
- defer:
task: "notify"
2024-01-08 20:25:00 +00:00
rails:
desc: "Rails. Call with: go-task rails -- arguments"
cmds:
- task: "bundle"
vars:
CLI_ARGS: "exec rails {{.CLI_ARGS}}"
2024-01-08 20:25:00 +00:00
console:
desc: "Rails console"
2024-01-10 14:48:40 +00:00
interactive: true
2024-01-08 20:25:00 +00:00
cmds:
- task: "rails"
vars:
CLI_ARGS: "console"
2024-01-08 20:13:43 +00:00
doc:
desc: "Build documentation"
deps:
- "gems"
cmds:
- task: "bundle"
vars:
CLI_ARGS: "exec yardoc -o public/doc app lib config db"
2024-01-08 20:36:39 +00:00
gem-audit:
desc: "Audit Gem dependencies"
deps:
- "gems"
- "bundler-audit"
2024-01-08 20:36:39 +00:00
cmds:
- task: "bundle"
vars:
CLI_ARGS: "audit --update"
2024-01-08 20:36:39 +00:00
node-audit:
desc: "Audit Node dependencies"
deps:
- "node-modules"
cmds:
- task: "yarn"
vars:
CLI_ARGS: "audit"
notify:
internal: true
cmds:
- "echo -e \"\a\""
bundler-audit:
internal: true
cmds:
- "{{.HAINISH}} gem install bundler-audit"
status:
- "test -f ../hain/usr/bin/bundler-audit"
rubocop:
desc: "Ruby linting"
2024-05-02 18:54:54 +00:00
deps:
- "gems"
cmds:
- "./bin/modified_files | ./bin/with_extension rb | xargs -r {{.HAINISH}} bundle exec rubocop {{.CLI_ARGS}}"
haml-lint:
desc: "HAML linting"
2024-05-02 18:54:54 +00:00
deps:
- "gems"
cmds:
- "./bin/modified_files | ./bin/with_extension haml | xargs -r {{.HAINISH}} bundle exec haml-lint {{.CLI_ARGS}}"