31 lines
954 B
Markdown
31 lines
954 B
Markdown
# Labrinth
|
|
|
|
Labrinth is the backend API service for Modrinth, written in Rust.
|
|
|
|
## Pre-PR Checks
|
|
|
|
When the user refers to "perform[ing] pre-PR checks", do the following:
|
|
|
|
- Run `cargo clippy -p labrinth --all-targets` — there must be ZERO warnings, otherwise CI will fail
|
|
- DO NOT run tests unless explicitly requested (they take a long time)
|
|
- Prepare the sqlx cache: cd into `apps/labrinth` and run `cargo sqlx prepare -- --tests`
|
|
- NEVER run `cargo sqlx prepare --workspace`
|
|
|
|
## Testing
|
|
|
|
- Run `cargo test -p labrinth --all-targets` to test your changes — all tests must pass
|
|
|
|
## Local Services
|
|
|
|
- Read the root `docker-compose.yml` to see what running services are available while developing
|
|
- Use `docker exec` to access these services
|
|
|
|
### Clickhouse
|
|
|
|
- Access: `docker exec labrinth-clickhouse clickhouse-client`
|
|
- Database: `staging_ariadne`
|
|
|
|
### Postgres
|
|
|
|
- Access: `docker exec labrinth-postgres psql -U labrinth -d labrinth -c "<query>"`
|