FitTrackee/CONTRIBUTING.md
2022-03-23 09:37:25 +01:00

2.4 KiB

Contributing to FitTrackee

First off, thank you for your interest in contributing!

Report issues, ask for features

  • If a bug is a security vulnerability, please refer to security policy.

  • Ensure an issue was not already opened by searching on GitHub under Issues.

  • If not, open a new one with a descriptive title and provide a description.

Contributing Code

Project repository

The GitHub repository contains:

  • source code (note that the repository also includes client build),
  • tests,
  • documentation (source and build).

Continuous integration pipeline runs on Gitlab CI.

How to install FitTrackee

see Installations instructions

Pull Requests

Please make your changes from the development branch (dev).

  • Fork the repository (see GitHub instructions)

  • Implement your feature.

  • If your changes need a database migration:

    • You can generate one after updating models with the following command:
      $ make migrate-db
      
    • For data migration, an empty migration can be created with this following command:
      $ make revision MIGRATION_MESSAGE="<MIGRATION_MESSAGE>"
      
    • Rename the migration, prefixing with the next number.
    • To apply database changes:
      $ make upgrade-db
      
    • Check the downgrade migration.
  • Run checks (lint, typecheck and tests).

    $ make check-all
    

    There are some end-to-end tests, to run them:

    $ make test-e2e
    

    Note: For now, pull requests from forks don't trigger pipelines on GitLab CI (see current issue).
    So make sure that checks don't return errors locally.

  • If needed, add or update tests.

  • If needed, update documentation.

  • If code contains client changes, you can generate a build, in a separate commit to ease code review.

    $ make build-client
    
  • Create your pull request to merge on dev branch.

  • Ensure the pull requests description clearly describes the problem and solution. Include the relevant issue number if applicable.

Thanks.