Skip to main content

Development Environment Setup

This guide helps you set up a development environment for developing Conveyor CI.

Prerequisites​

Before you begin development, ensure you have the following software on your dev machine.

  • Go
  • A Linux environment. This is mainly because Conveyor CI is a Linux only application. If you are contributing to the documentation site or an SDK you can ignore this.

Running the API Server​

Start the API Server by running the following commands.

sudo go run main.go init

make start

Contributing to the documentation site​

The documentation site is located in the docs/ directiory and is a docusaurus application. so ensure to cd docs and npm install to install the dependencies.

You can start the docs site by running

make docs

API Documentation​

Conveyor CI provides comprehensive API documentation using Swagger/OpenAPI. The interactive API documentation is automatically generated from code comments and is available when the server is running.

Accessing Swagger UI​

Once the Conveyor API Server is running, you can access the interactive API documentation at:

Swagger UI: http://localhost:8080/swagger/

Swagger Development Setup​

For local development and API documentation generation:

# Install swag CLI tool
make install-swag

# Generate Swagger documentation
make swagger-init

Testing​

Conveyor CI is a Go Application and uses a combination of stretchr/testify and the go testing package in the standard library.

When you make a change, it is required to write a test for your change as we aim for 100% test coverage. To run your tests, first start all the dependency containers mentioned above then run:

make test

And ensure all tests are passing.