Skip to content

Commit 8dfbab2

Browse files
Update contribution and other misc docs
Signed-off-by: Ayan Sinha Mahapatra <ayansmahapatra@gmail.com>
1 parent 3522153 commit 8dfbab2

5 files changed

Lines changed: 71 additions & 43 deletions

File tree

docs/source/contribute/contrib_dev.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,3 +198,9 @@ Using ScanCode as a Python library
198198
ScanCode can be used alright as a Python library and is available as as a
199199
Python wheel in Pypi and installed with ``pip install scancode-toolkit`` or
200200
``pip install scancode-toolkit-mini``.
201+
202+
.. _note:
203+
204+
Since we do not pin dependencies to avoid dependency resolution conflicts
205+
for downstream users, there are possibilities of issues arising from
206+
dependencies silently changing API/functions which scancode uses.
Lines changed: 43 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,68 @@
1+
.. _release_process:
2+
13
How to cut a new release:
24
=========================
35

46
Update version
57
--------------
68

7-
- Run bumpversion with major, minor or patch to bump the version in
8-
``setup.cfg`` and ``src/scancode_config.py``. Note that this is CalVer.
9+
- Bump version to update major, minor or patch version in ``setup.cfg``
10+
``setup-mini.cfg`` and ``src/scancode_config.py``. Note that this is SemVer,
11+
though we used CalVer previously, we have switched back to SemVer.
12+
13+
- If scancode output data format is changed, increment manually the major,
14+
minor or patch version to bump the version in ``src/scancode_config.py``.
15+
Note that this is SemVer.
916

10-
- If scancode output data format is changed, increment manually the major, minor or patch
11-
to bump the version in ``src/scancode_config.py``. Note that this is SemVer.
17+
See our :ref:``versioning`` for more details.
1218

1319
Tag and publish
1420
---------------
1521

16-
- Update the CHANGELOG.rst
22+
- Changes for a release should also be pushed to a branch and a pull
23+
Request should be created for it, for review.
24+
25+
- Update the CHANGELOG.rst with detailed documentation of updates
26+
and API/CLI option changes, or any significant changes.
1727

18-
- Commit these changes and push changes to develop:
28+
- Commit these changes and push changes to develop (here we use an
29+
example tag ``v1.6.1``):
1930

20-
- ``git commit -m "commit message"``
21-
- ``git push --set-upstream origin develop``
31+
- ``git commit -s``
32+
- ``git push --set-upstream origin release-prep-v1.6.1``
2233

23-
- Merge develop branch in master and tag the release.
34+
- Merge this ``release-prep-v1.6.1`` branch in master after review approval
35+
and tag the release:
2436

25-
- ``git checkout master``
26-
- ``git merge develop``
2737
- ``git tag -a v1.6.1 -m "Release v1.6.1"``
28-
- ``git push --set-upstream origin master``
38+
- ``git push --set-upstream origin release-prep-v1.6.1``
2939
- ``git push --set-upstream origin v1.6.1``
3040

31-
- Draft a new release in GitHub, using the previous release blurb as a base. Highlight new and
32-
noteworthy changes from the CHANGELOG.rst.
33-
34-
Create Release on GitHub
35-
------------------------
36-
37-
- Run ``etc/release/scancode_release.sh`` locally.
41+
Automated Release Process
42+
-------------------------
3843

39-
- Upload the release archives created in the ``dist/`` directory to the GitHub release page.
44+
- We have a `automated release script <https://github.com/nexB/scancode-toolkit/actions/workflows/scancode-release.yml>`_
45+
triggered by a pushed tag, where jobs run to:
4046

41-
- Save the release as a draft. Use the previous release notes to create notes in the same style.
42-
Ensure that the link to third-party source code is present.
47+
- Build pypi wheels and sdist archives
48+
- Build app release archives for linux/mac/windows
49+
- This happens for all supported python versions
50+
- Test these wheels and app archives in linux/mac/windows for all supported
51+
versions of python
52+
- Create a GitHub release (draft by default) with all wheels, sdists and app arcives
53+
(for all os/python combinations)
54+
- Upload sdists and wheels (all python versions) and publish a release
55+
(This won't be a stable release for beta/release-candidate tags)
4356

44-
- test the downloads.
57+
- Populate the draft GitHub release by clicking the ``Generate Release Notes`` button
58+
and this pre-populates the release notes with PRs and contributors.
4559

46-
- publish the release on GitHub
60+
- Add more details to the release notes talking about the key features and changes in the
61+
release.
4762

48-
Upload wheels to pypi and Test
49-
------------------------------
63+
- Publish the release on GitHub
64+
(Note the ``Set as a pre-release`` vs ``Set as the latest release`` checkboxes)
5065

51-
- then build and publish the released wheel on Pypi. For this you need your own Pypi credentials
52-
(and get authorized to publish Pypi release: ask @pombredanne) and you need to have the ``twine``
53-
package installed and configured.
66+
- Announce in public channels and chats about the release
5467

55-
- Build a ``.whl`` and source distribution with ``python setup.py release``
56-
- Run twine with ``twine upload dist/``
57-
- Once uploaded check the published release at https://pypi.python.org/pypi/scancode-toolkit/
58-
- Then create a new fresh local virtualenv and test the wheel installation with:
59-
``pip install scancode-toolkit[full]``
68+
- Do test the release archives yourself.

docs/source/contribute/roadmap.rst

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,14 @@ Roadmap
55

66
This is a high level list of what we are working on and what is completed.
77

8+
.. ToDo: Move this to Discussions or wikis as this is not used or updated
9+
regularly.
10+
11+
.. _note:
12+
13+
This is not updated regularly, see the `milstones <https://github.com/nexB/scancode-toolkit/milestones>`_
14+
instead for updated shorter and longer term roadmaps.
15+
816
Legend
917
------
1018

@@ -26,7 +34,7 @@ Package manifest and dependency parsers
2634
- |white_large_square| RPM dependencies #649
2735
- |white_large_square| Windows Nuget dependencies #648
2836
- |white_check_mark| Bower packages #654
29-
- |clock1030| Python dependencies #653
37+
- |white_check_mark| Python dependencies #653
3038
- |white_check_mark| CRAN
3139
- |white_check_mark| Plain packages
3240
- |white_large_square| other Java-related meta files (SBT, Ivy, Gradle, etc.)
@@ -39,7 +47,7 @@ License Detection
3947

4048
- |white_check_mark| support and detect license expressions (code in https://github.com/nexB/license-expression)
4149
- |clock1030| support and detect composite licenses
42-
- |white_large_square| support custom licenses
50+
- |white_check_mark| support custom licenses
4351
- |white_large_square| move licenses data set to external separate repository
4452
- |white_check_mark| Improved unknown license detection
4553
- |white_check_mark| sync with external sources (DejaCode, SPDX, etc.)
@@ -61,7 +69,7 @@ Core features
6169
- |white_check_mark| scan plugins (e.g. plugins that run a scan to collect data)
6270
- |white_check_mark| support Python 3 #295
6371
- |clock1030| transparent archive extraction (as opposed to on-demand with extractcode)
64-
- |clock1030| scancode.yml configuration file for exclusions, defaults, scan failure conditions,
72+
- |white_large_square| scancode.yml configuration file for exclusions, defaults, scan failure conditions,
6573
etc.
6674
- |white_large_square| support scan pipelines and rules to organize more complex scans
6775
- |white_check_mark| scan baselining, delta scan and failure conditions (such as license change,

docs/source/misc/support.rst

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,23 @@ Support
66
Documentation
77
-------------
88

9-
The ScanCode toolkit documentation lives at aboutcode.readthedocs.io/en/latest/scancode-toolkit/.
10-
9+
The ScanCode toolkit documentation lives at https://scancode-toolkit.readthedocs.io/.
1110

1211
Issue Tracker
1312
-------------
1413

15-
Post questions and bugs as GitHub tickets at: https://github.com/nexB/scancode-toolkit/issues
14+
Post issues you are having and bugs as `GitHub tickets <https://github.com/nexB/scancode-toolkit/issues>`_
15+
16+
Discussions
17+
-----------
1618

19+
If you want to ask questions or anything else that you think are not bugs/new
20+
features open a `discussion <https://github.com/nexB/scancode-toolkit/discussions>`_
1721

1822
Join the conversation
1923
----------------------
2024

21-
Join our `Gitter Channel <https://gitter.im/aboutcode-org/discuss>`_ to chat
22-
with users and developers of ScanCode Toolkit.
25+
Join our `general chatroom <https://matrix.to/#/#aboutcode-org_discuss:gitter.im>`_ to chat
26+
with aboutcode community members and if you want to talk to users and developers of
27+
ScanCode Toolkit, use `scancode room <https://matrix.to/#/#aboutcode-org_scancode:gitter.im>`_
2328

docs/source/misc/versioning.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.. versioning:
1+
.. _versioning:
22

33

44
Versioning approach

0 commit comments

Comments
 (0)