Skip to content

Latest commit

 

History

History
51 lines (37 loc) · 1.53 KB

development.md

File metadata and controls

51 lines (37 loc) · 1.53 KB

Development

The project is using Bazelisk for building, running and testing. These instructions will guide you through starting a local instance on Linux (or WSL).

Prerequisites

Packages

  • build-essential or an alternative
  • Python (with PIP and python-is-python3)
  • Java 11

Services

  • Redis
  • PostgreSQL
    • postgres:postgres as credentials
    • Create an empty database named keyring
  • Docker (for Testcontainers)

Running

  • bazelisk run //:backends to start the backends
  • bazelisk run //:pwa to start the frontend

Note that in the development environment activation tokens are not sent by email — instead they are printed to the console.

Testing

  • bazelisk test $(bazelisk query 'tests(//server/...)')
  • bazelisk test //pwa:unit_tests

Liquibase

Database upgrades are managed by changelog.postgresl.sql. Run generate-changelog from root to regenerate the changelog from scratch from an existing local instance of the keyring database. Note that it's created by default when server is run in the development environment.

liquibase --changelog-file=server/changelog.postgresql.sql \
    --url=jdbc:postgresql://localhost/keyring \
    --username=postgres --password=postgres \
    generate-changelog --overwrite-output-file=true