To set up for development and testing, create a fresh virtualenv
,
activate it and run the following sequence of commands:
git clone https://github.com/DataDog/supply-chain-firewall.git
cd supply-chain-firewall
make install-dev
This will install scfw
as well as its development dependencies into
your development environment.
API documentation may be built via pdoc
by running make docs
in
your development environment. This will automatically open the
documentation in your system's default browser.
Execute the test suite by running make test
in your development
environment. To additionally view code coverage, run make coverage
.
The test suite contains code quality checks in the form of
type-checking and linting. Run make typecheck
or make lint
,
respectively, in your development environment.
You can run make checks
to execute all tests and code quality
checks. Up to matrix testing across pip
and npm
versions, this is
the same set of checks that run in the repository's CI for pull
requests. The repository also contains a pre-commit hook to run these
checks on each commit, if so desired.
Before opening a new issue, first check to see whether the same or a similar issue already exists. If not, please feel free to open a new issue while selecting an appropriate label (bug, enhancement, etc.) to assist with issue prioritization.
To work on an issue, create a new branch following the naming scheme
<GitHub username>/<branch-function>
. When you have finished making
your changes, create a pull request with a succinct description of 1)
the issue your pull request addresses, 2) the changes you have made
and 3) any special information a reviewer should be aware of.