.DEFAULT_GOAL := no-default no-default: $(error You must specify a make target) migrate-data: ifndef name $(error name is required. Usage: make migrate-data name=YourMigrationName) endif dotnet ef migrations add $(name) --context DataContext --project backend/Cleanuparr.Persistence.Sqlite/Cleanuparr.Persistence.Sqlite.csproj --startup-project backend/Cleanuparr.Api/Cleanuparr.Api.csproj --output-dir Migrations/Data migrate-events: ifndef name $(error name is required. Usage: make migrate-events name=YourMigrationName) endif dotnet ef migrations add $(name) --context EventsContext --project backend/Cleanuparr.Persistence.Sqlite/Cleanuparr.Persistence.Sqlite.csproj --startup-project backend/Cleanuparr.Api/Cleanuparr.Api.csproj --output-dir Migrations/Events migrate-users: ifndef name $(error name is required. Usage: make migrate-users name=YourMigrationName) endif dotnet ef migrations add $(name) --context UsersContext --project backend/Cleanuparr.Persistence.Sqlite/Cleanuparr.Persistence.Sqlite.csproj --startup-project backend/Cleanuparr.Api/Cleanuparr.Api.csproj --output-dir Migrations/Users PG_DUMMY = DATABASE_PROVIDER=postgres POSTGRES_HOST=localhost POSTGRES_PORT=5432 POSTGRES_USER=postgres POSTGRES_PASS=postgres POSTGRES_DB=cleanuparr migrate-postgres-data: ifndef name $(error name is required. Usage: make migrate-postgres-data name=YourMigrationName) endif $(PG_DUMMY) dotnet ef migrations add $(name) --context DataContext --project backend/Cleanuparr.Persistence.Postgres/Cleanuparr.Persistence.Postgres.csproj --startup-project backend/Cleanuparr.Api/Cleanuparr.Api.csproj --output-dir Migrations/Data migrate-postgres-events: ifndef name $(error name is required. Usage: make migrate-postgres-events name=YourMigrationName) endif $(PG_DUMMY) dotnet ef migrations add $(name) --context EventsContext --project backend/Cleanuparr.Persistence.Postgres/Cleanuparr.Persistence.Postgres.csproj --startup-project backend/Cleanuparr.Api/Cleanuparr.Api.csproj --output-dir Migrations/Events migrate-postgres-users: ifndef name $(error name is required. Usage: make migrate-postgres-users name=YourMigrationName) endif $(PG_DUMMY) dotnet ef migrations add $(name) --context UsersContext --project backend/Cleanuparr.Persistence.Postgres/Cleanuparr.Persistence.Postgres.csproj --startup-project backend/Cleanuparr.Api/Cleanuparr.Api.csproj --output-dir Migrations/Users release-check: @previous=$$(gh release view --json tagName --jq .tagName) || exit 1; \ published=$$(gh release view --json publishedAt --jq .publishedAt); \ echo "Previous release: $$previous ($$published)"; \ echo ""; \ if ! breaking=$$(gh api --paginate "repos/{owner}/{repo}/issues?labels=breaking&state=closed&since=$$published&per_page=100" \ --jq ".[] | select(.pull_request.merged_at > \"$$published\") | \" #\(.number) \(.title)\""); then \ echo "Failed to query pull request labels:" >&2; \ echo "$$breaking" >&2; \ exit 1; \ fi; \ if [ -n "$$breaking" ]; then \ echo "Breaking changes merged since $$previous:"; \ echo "$$breaking"; \ echo ""; \ echo "=> the next release must bump the MINOR"; \ else \ echo "No breaking changes merged since $$previous"; \ echo ""; \ echo "=> the next release can be a PATCH"; \ fi release-notes: ifndef version $(error version is required. Usage: make release-notes version=2.11.0) endif @previous=$$(gh release view --json tagName --jq .tagName); \ gh api -X POST repos/{owner}/{repo}/releases/generate-notes \ -f tag_name=v$(version) -f target_commitish=main -f previous_tag_name=$$previous --jq .body docker-build: ifndef tag $(error tag is required. Usage: make docker-build tag=latest version=1.0.0 user=... pat=...) endif ifndef version $(error version is required. Usage: make docker-build tag=latest version=1.0.0 user=... pat=...) endif ifndef user $(error user is required. Usage: make docker-build tag=latest version=1.0.0 user=... pat=...) endif ifndef pat $(error pat is required. Usage: make docker-build tag=latest version=1.0.0 user=... pat=...) endif PACKAGES_PAT=$(pat) DOCKER_BUILDKIT=1 docker build \ --build-arg VERSION=$(version) \ --build-arg PACKAGES_USERNAME=$(user) \ --secret id=packages_pat,env=PACKAGES_PAT \ -t cleanuparr:$(tag) \ .