- Configure TestPyPi:
poetry config repositories.test-pypi https://test.pypi.org/legacy/
- Grab your token from TestPyPi.
- Configure the TestPyPi token:
poetry config pypi-token.test-pypi <token>
- Grab your token from PyPi.
- Configure the TestPyPi token:
poetry config pypi-token.pypi <token>
- Install Snapcraft:
snap install --classic snapcraft
- Init LXD:
lxd init --audo
(optional) - Login to Snapcraft by following one official guide.
- If TestPyPi and PyPi are not configured, follow the corresponding guide.
- Update the version in
pyproject.toml
. - Build the new version:
poetry build
- Publish to TestPyPi:
poetry publish -r test-pypi -u <username>
- Install the package through TestPyPi:
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ semgrep-rules-manager
- Execute your tests by leveraging the
semgrep-rules-manager
command. - If all your tests are passing, publish to PyPi:
poetry publish -u <username>
- Try to install the package from PyPi:
pip install semgrep-rules-manager
- If Snapcraft is not configured, follow the corresponding guide.
- Change the version in
snap/snapcraft.yaml
. - Build the snap:
snapcraft
- Install the created snap:
snap install --dangerous semgrep-rules-manager_*.snap
- Execute your tests by leveraging the
semgrep-rules-manager
command. - If all your tests are passing, upload to Snapstore:
snapcraft push <snap_file>
- Add a new entry in
semgrep_rules_manager/data/sources.yaml
. - Commit and push (eventually, through a fork) the changes.
- Pull the
README.*
files automatically generated by the GitHub action. - Update the version in
snap/snapcraft.yaml
andpyproject.toml
with a.post<N>
prefix or a new minor version. - Publish a new PyPi release.
- Publish a new Snap release.