-
Notifications
You must be signed in to change notification settings - Fork 2
Home
Juan Gonzalez-Gomez edited this page Jun 13, 2021
·
18 revisions
TODO
Instructions for developers or people that want to contribute to this project
- Python 3. The icm is programmed in Python language
-
Virtual environment. It allows you to test icm and install python packages without breaking anything on your system
- Windows: It is already available after the python3 installation
- Installation on Ubuntu 20.04:
sudo apt install python3-venv
If it is the first time you are using icm follow these steps:
- Fork the icm repo in your github account
- Clone the repo (or your fork, if you want to contribute):
git clone https://github.com/FPGAwars/icm.git
- Enter into the icm folder
cd icm
- Create the virtual python environment
make cenv
- Start the virtual environment
. env/bin/activate
- Install all the python dependencies:
make deps
You can now modify the python source files for adding your new features / bug fixed. Once your are done type these commands:
- Check that everything is ok:
make tox
If everything was ok you should see something like this:
(env) obijuan@Hoth:~/test/icm$ make tox
python -m tox
[...]
py38 run-test: commands[1] | flake8 icm
py38 run-test: commands[2] | pylint icm
--------------------------------------------------------------------
Your code has been rated at 10.00/10 (previous run: 10.00/10, +0.00)
___________________________________ summary ____________________________________
py38: commands succeeded
congratulations :)
(env) obijuan@Hoth:~/test/icm$
- Install icm in your python environment
make install
- Run icm. For example, you can check the version:
(env) obijuan@Hoth:~/test/icm$ icm --version
icm, version 0.4.8
When you have finished a new feature or a bug has been fixed it is time for releasing! Follow these steps:
- Update the version number in the file
icm/__init__.py
For example, change the current number:
VERSION = (0, 4, 8)
To the new one:
VERSION = (0, 4, 9)
- Make sure all the test are passed:
make tox
- Commit/push your changes
- Create a new Release in the github repo page. Once it is finished, it will be automatically packed and published on the Pypi repo
- You are done!