As of August 2020 the site you are on (wiki.newae.com) is deprecated, and content is now at rtfm.newae.com. |
Difference between revisions of "CW Release Steps"
Line 1: | Line 1: | ||
This page contains various information regarding the ChipWhisperer release steps. This is not designed for users, but as a note for developers regarding release information. | This page contains various information regarding the ChipWhisperer release steps. This is not designed for users, but as a note for developers regarding release information. | ||
+ | |||
+ | ==Release Steps== | ||
+ | |||
+ | === Pushing to PyPi === | ||
+ | |||
+ | To allow users to perform a glorious: | ||
+ | |||
+ | pip install chipwhisperer | ||
+ | |||
+ | We push '''part''' of the release to pypi. This partial release only includes the Python software, and not the complete ChipWhisperer repo (with hardware, docs, etc). | ||
+ | |||
+ | We follow a basic tutorial from [http://peterdowns.com/posts/first-time-with-pypi.html], which includes a fairly basic setup.py. Important details to note: | ||
+ | |||
+ | * Adding new modules requires adding them to setup.py to ensure they are included | ||
+ | |||
+ | Once a new release is ready, it's a simple case of: | ||
+ | |||
+ | python setup.py sdist upload | ||
+ | |||
+ | To push to the real pypi server. | ||
+ | |||
+ | ==Other Notes== | ||
=== GIT Repo Sync === | === GIT Repo Sync === |
Revision as of 12:25, 17 June 2016
This page contains various information regarding the ChipWhisperer release steps. This is not designed for users, but as a note for developers regarding release information.
Release Steps
Pushing to PyPi
To allow users to perform a glorious:
pip install chipwhisperer
We push part of the release to pypi. This partial release only includes the Python software, and not the complete ChipWhisperer repo (with hardware, docs, etc).
We follow a basic tutorial from [1], which includes a fairly basic setup.py. Important details to note:
- Adding new modules requires adding them to setup.py to ensure they are included
Once a new release is ready, it's a simple case of:
python setup.py sdist upload
To push to the real pypi server.
Other Notes
GIT Repo Sync
While the main GIT repo is held on Assembla, a version of it is kept updated on GITHub. This is for convenience of those that prefer GITHub. This documents how the automatic pull/push is done on a local development server (it's quite dumb really) in case we need to duplicate it again:
1. Clone Assembla repo to "/home/someone/somewhere/chipwhisperer"
2. Setup github as a remote with name "github" in that pull
3. Add a script called "pushpull.sh" to "/home/someone/somewhere/chipwhisperer" with contents:
#!/bin/sh git pull origin master git push -u github master
4. Add the following to the .gitignore file, as this file is in the root of the GITHub repo but we don't want to track:
README.md
5. Make above executable for user script will run as (ideally this was all setup as someone with low/no privileges since they need no access elsewhere).
6. Use "crontab -e" to add task that runs every 5 mins and runs that script:
0,5,10,15,20,25,30,35,40,45,50,55 * * * * cd /home/someone/somewhere/chipwhisperer; ./pullpush.sh