mirror of
https://github.com/bitmagnet-io/bitmagnet.git
synced 2025-12-28 06:34:17 +00:00
159 lines
3.0 KiB
YAML
159 lines
3.0 KiB
YAML
version: "3"
|
|
|
|
tasks:
|
|
gen:
|
|
cmds:
|
|
- task gen-go
|
|
- task gen-gorm
|
|
- task gen-gql-enums
|
|
- task gen-gql
|
|
- task gen-protoc
|
|
- task gen-mockery
|
|
- task gen-classifier-schema
|
|
- task gen-webui-graphql
|
|
|
|
gen-go:
|
|
cmds:
|
|
- go generate ./...
|
|
|
|
gen-gorm:
|
|
cmds:
|
|
- go run ./internal/dev gorm gen
|
|
|
|
gen-gql-enums:
|
|
cmds:
|
|
- go run ./internal/gql/enums/gen/genenums.go
|
|
|
|
gen-gql:
|
|
cmds:
|
|
- go run github.com/99designs/gqlgen generate --config ./internal/gql/gqlgen.yml
|
|
|
|
gen-protoc:
|
|
cmds:
|
|
- protoc --go_out=. ./internal/protobuf/bitmagnet.proto
|
|
|
|
gen-mockery:
|
|
cmds:
|
|
- go run github.com/vektra/mockery/v2
|
|
|
|
gen-classifier-schema:
|
|
cmds:
|
|
- go run . classifier schema --format json > ./bitmagnet.io/schemas/classifier-0.1.json
|
|
|
|
gen-webui-graphql:
|
|
dir: ./webui
|
|
cmds:
|
|
- npm run graphql:codegen
|
|
|
|
i18n-extract:
|
|
dir: ./webui
|
|
cmds:
|
|
- npm run i18n:extract
|
|
|
|
lint:
|
|
cmds:
|
|
# Removing golang-ci lint as the Nix package is currently broken
|
|
# - task lint-golangci
|
|
- task lint-webui
|
|
- task lint-prettier
|
|
|
|
lint-golangci:
|
|
cmds:
|
|
- golangci-lint run --timeout=10m
|
|
|
|
lint-webui:
|
|
dir: ./webui
|
|
cmds:
|
|
- npm run lint
|
|
|
|
lint-prettier:
|
|
cmds:
|
|
- prettier --check .
|
|
|
|
test:
|
|
cmds:
|
|
- task test-go
|
|
- task test-webui
|
|
|
|
test-go:
|
|
cmds:
|
|
- go test -v ./...
|
|
|
|
test-webui:
|
|
dir: ./webui
|
|
cmds:
|
|
- npm test
|
|
env:
|
|
CHROME_BIN: chromium
|
|
|
|
migrate:
|
|
cmds:
|
|
- go run ./internal/dev migrate up
|
|
|
|
build:
|
|
cmds:
|
|
- go build -ldflags "-X github.com/bitmagnet-io/bitmagnet/internal/version.GitTag=$(git describe --tags --always --dirty)"
|
|
|
|
build-webui:
|
|
dir: ./webui
|
|
cmds:
|
|
- npm run build
|
|
|
|
build-docsite:
|
|
dir: ./bitmagnet.io
|
|
cmds:
|
|
- bundle install
|
|
- bundle exec jekyll build
|
|
|
|
install-webui:
|
|
dir: ./webui
|
|
cmds:
|
|
- npm ci
|
|
|
|
serve-webui:
|
|
dir: ./webui
|
|
cmds:
|
|
- npm start -- --host {{.HOST}} --port {{.PORT}}
|
|
vars:
|
|
HOST: localhost
|
|
PORT: 3334
|
|
|
|
serve-docsite:
|
|
dir: ./bitmagnet.io
|
|
cmds:
|
|
- bundle exec jekyll serve --host {{.HOST}} --port {{.PORT}} --livereload
|
|
vars:
|
|
HOST: localhost
|
|
PORT: 3335
|
|
|
|
export-data:
|
|
cmds:
|
|
- |
|
|
pg_dump \
|
|
--column-inserts \
|
|
--data-only \
|
|
--on-conflict-do-nothing \
|
|
--rows-per-insert=1000 \
|
|
--table=metadata_sources \
|
|
--table=content \
|
|
--table=content_attributes \
|
|
--table=content_collections \
|
|
--table=content_collections_content \
|
|
--table=torrent_sources \
|
|
--table=torrents \
|
|
--table=torrent_files \
|
|
--table=torrent_hints \
|
|
--table=torrent_contents \
|
|
--table=torrent_tags \
|
|
--table=torrents_torrent_sources \
|
|
--table=key_values \
|
|
bitmagnet \
|
|
> export.sql
|
|
|
|
create-migration:
|
|
dir: ./migrations
|
|
cmds:
|
|
- goose -s create {{.NAME}} sql
|
|
vars:
|
|
NAME: migration
|