Skip to content

Latest commit

 

History

History
62 lines (35 loc) · 3.12 KB

CONTRIBUTION.md

File metadata and controls

62 lines (35 loc) · 3.12 KB

How to contribute Commitizen friendly

Welcome contributors.To contribute, first fork our repository into your own Github account, and create a local clone of it as described in the installation instructions. The latter will be used to get new features implemented or bugs fixed. Once done and you have the code locally on the disk, you can get started. We advice to not work directly on the master branch, but to create a separate branch for each issue you are working on. That way you can easily switch between different work, and you can update each one for latest changes on upstream master individually.

Installation Instructions

Follow the steps below to setup a development environment. Fork our repository into your own github account, and run:

    #!/bin/bash
    git clone https://github.com/%your_account%/N2-Avionics-BaseStation.git
    cd N2-Avionics-BaseStation/
    npm install
    npm run dev

Note

The docker-compose.yaml requires the DOCKER_CLIENT_IMAGE environment variable is to be set. To do this create a file named .env placed in the same directory as the docker-compose.yaml file. Then add:

    DOCKER_CLIENT_IMAGE=/% your image %/

Managing the Repository

versioning

This project uses conventional commits for semantic versioning (semver). Husky is integrated to reject invalid commits. If you are unfamiliar with conventional commits we recommend using commitizen

Merging Pull Requests

Once a PR is in its final state it needs to be merged into the upstream master branch. For that please DO NOT use the Github merge button! But merge it yourself on the command line. Reason is that we want to hvae a clean history. Before pushing the changes to upstream master make sure that all individual commits have been squashed into a single one with a commit message.

Github Container Registry (ghcr)

The docker image is hosted on ghcr.io container registry

Push to ghcr

First authenticate docker to ghcr using a token obtained from github settings

export CR_PAT=YOUR_TOKEN

echo $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin

While in the cloned folder build the docker

docker build . -t ghcr.io/nakujaproject/n2-avionics-basestation:latest

If there is an already built image, tag image using image ID

docker tag <imageID> ghcr.io/nakujaproject/n2-avionics-basestation:latest

Finally push the image

docker push ghcr.io/nakujaproject/n2-avionics-basestation:latest

For changes to reflect in running containers, shutdown running containers bound to port 3000 and run

docker-compose up --build