Files
firezone/CONTRIBUTING.md
2021-09-23 23:36:40 -07:00

1.3 KiB

Contributing Guide

Read this guide before opening a pull request.

Table of Contents

  1. Prerequisites
  2. Project Setup
    1. Provision the test VMs
    2. Start the WireGuard interface on the server
    3. Start the WireGuard interface on the client
  3. Testing TBD

Prerequisites

You'll need the following software installed to develop for Firezone:

  • asdf
  • A recent version of PostgreSQL server installed and running
  • dotenv functionality for your shell

Project Setup

  1. Ensure Postgres is running
$ psql -h localhost -d postgres

> CREATE ROLE firezone;
> ALTER ROLE firezone WITH LOGIN;
  1. Install the language versions defined in .tool-versions:
# Run this from the project root
$ asdf install
  1. Resolve dependencies
$ mix deps.get
$ npm install --prefix apps/fz_http/assets
  1. Bootstrap DB
$ mix ecto.setup
  1. Launch Server
mix phx.server

Testing

Run tests with mix test from the project root.