Development

Requirements

  • Git
  • Go >= 1.11

Checkout the source code

Fork the project and clone the repository locally.

Since Go 1.11, you don’t need to work inside the $GOPATH. You can checkout the source code anywhere on your filesystem.

Miniflux is using Go Modules to manage dependencies.

Build a binary of the application

# All binaries
make build

# Only Linux (amd64 architecture)
make linux

# Build for ARM architectures (32 and 64 bits)
make linux-arm

# Only Mac OS
make darwin

# Only FreeBSD
make freebsd

Run the software locally

make run

This command execute go generate and go run main.go.

Regenerate embedded files

To avoid any dependencies, all assets (Javascript, CSS, images, translations) are automatically included in the source code.

go generate

Linter

make lint

Unit tests

make test

Integration tests

Integration tests are testing API endpoints with a real database.

You need to have Postgresql installed locally preconfigured with the user “postgres” and the password “postgres”.

To run integration tests, execute the following command:

make integration-test ; make clean-integration-test

If the test suite fail, you will see the logs of Miniflux.