Skip to content

Commit 7822225

Browse files
Merge pull request #213 from NucleonGodX/gsoc-2025
Gsoc 2025 final report
2 parents 96e824d + 21d3bef commit 7822225

File tree

2 files changed

+239
-0
lines changed

2 files changed

+239
-0
lines changed

docs/source/archive/gsoc-toc.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,11 @@ GSoC 2025
1414
.. toctree::
1515
:maxdepth: 2
1616

17+
gsoc/reports/2025/scancodeio_manit
1718
gsoc/reports/2025/scancode_toolkit_alok
1819
gsoc/reports/2025/vulnerablecode_michael
1920

21+
2022
GSoC 2024
2123
---------
2224

Lines changed: 237 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,237 @@
1+
=====================================================
2+
Enhance Compliance Mechanisms and CI Provider Support
3+
=====================================================
4+
5+
6+
**Organization:** `AboutCode <https://aboutcode.org>`_
7+
8+
9+
**Projects:** `Scancode.io <https://github.com/aboutcode-org/scancode.io>`_ and `Scancode-action <https://github.com/aboutcode-org/scancode-action>`_
10+
11+
12+
**Mentee:** `Manit Singh (NucleonGodX) <https://github.com/NucleonGodX>`_
13+
14+
15+
**Mentors:**
16+
17+
18+
- `Thomas Druez <https://github.com/tdruez>`_
19+
- `Dennis Clark <https://github.com/DennisClark>`_
20+
- `Pranay Das <https://github.com/404-geek>`_
21+
- `Avishrant Sharma <https://github.com/avishrantsSh/>`_
22+
23+
24+
Overview
25+
--------
26+
ScanCode.io previously supported compliance mechanisms only based on license policies,
27+
which limited the comprehensive assessment of software projects for organizations
28+
with diverse compliance requirements.
29+
30+
31+
This project enhanced ScanCode.io to support additional compliance mechanisms beyond
32+
license policies, including license clarity scores, vulnerability levels, and scorecard scores.
33+
Additionally, the project expanded scancode-action support to multiple CI providers beyond
34+
GitHub Actions, including Azure Pipelines and Jenkins CI.
35+
36+
37+
--------------------------------------------------------------------------------
38+
39+
40+
Implementation
41+
--------------
42+
- **Independent Compliance Mechanisms:**
43+
44+
- Developed an independent mechanism for compliance based on scorecard scores
45+
and license clarity scores.
46+
- Integrated these mechanisms into the database's project extra_data field, API endpoints,
47+
check compliance command, and UI project view.
48+
- Created a unified threshold mechanism for both license clarity and scorecard compliance,
49+
reducing code duplication and improving maintainability.
50+
51+
52+
- **Unified Script Structure:**
53+
54+
- Implemented a unified Python script structure that generates bash code for use across
55+
different CI providers including GitHub Actions, Azure Pipelines, and Jenkins CI.
56+
- This approach significantly reduces redundancy in CI provider implementations and
57+
ensures consistent behavior across platforms.
58+
59+
60+
- **CI Provider Expansion:**
61+
62+
- Added comprehensive support for Azure Pipelines with proper configuration templates
63+
and integration workflows.
64+
- Added PR for using scancode-action with Jenkins.
65+
- Ensured all CI providers utilize the same core scanning functionality through
66+
the unified script approach.
67+
68+
69+
- **Policy Validation Improvements:**
70+
71+
- Fixed policy validation logic to properly handle different compliance mechanisms
72+
without requiring license_policies for all policy files.
73+
- Enhanced error handling and validation messages for better user experience.
74+
75+
76+
Linked Pull Requests
77+
--------------------
78+
79+
80+
.. list-table::
81+
:widths: 10 60 30 10
82+
:header-rows: 1
83+
84+
85+
* - Sr. no
86+
- Name
87+
- Link
88+
- Status
89+
* - 1
90+
- Introduce Independent License Clarity Thresholds Mechanism
91+
- `scancode.io#1689
92+
<https://github.com/aboutcode-org/scancode.io/pull/1689>`_
93+
- Merged
94+
* - 2
95+
- Integration of Clarity compliance mechanism
96+
- `scancode.io#1705
97+
<https://github.com/aboutcode-org/scancode.io/pull/1705>`_
98+
- Merged
99+
* - 3
100+
- Refactor a common threshold mechanism for both license clarity and scorecard score
101+
- `scancode.io#1799
102+
<https://github.com/aboutcode-org/scancode.io/pull/1799>`_
103+
- Merged
104+
* - 4
105+
- Add compliance support based on OpenSSF Scorecard score
106+
- `scancode.io#1800
107+
<https://github.com/aboutcode-org/scancode.io/pull/1800>`_
108+
- Merged
109+
* - 5
110+
- Fix policies validation
111+
- `scancode.io#1814
112+
<https://github.com/aboutcode-org/scancode.io/pull/1814>`_
113+
- Merged
114+
* - 6
115+
- Add Azure pipelines support
116+
- `scancode-action#19
117+
<https://github.com/aboutcode-org/scancode-action/pull/19>`_
118+
- Open
119+
* - 7
120+
- Add support for jenkins-ci
121+
- `scancode-action#21
122+
<https://github.com/aboutcode-org/scancode-action/pull/21>`_
123+
- Open
124+
* - 8
125+
- Add support for python script for ci providers
126+
- `scancode-action#23
127+
<https://github.com/aboutcode-org/scancode-action/pull/23>`_
128+
- Open
129+
130+
131+
Related Issues
132+
--------------
133+
134+
135+
.. list-table::
136+
:widths: 10 60 30
137+
:header-rows: 1
138+
139+
140+
* - Sr. no
141+
- Name
142+
- Link
143+
* - 1
144+
- Add license clarity score-based Compliance support
145+
- `#1678
146+
<https://github.com/aboutcode-org/scancode.io/issues/1678>`_
147+
* - 2
148+
- Add Vulnerability Severity-Based Compliance Support
149+
- `#1679
150+
<https://github.com/aboutcode-org/scancode.io/issues/1679>`_
151+
* - 3
152+
- Add support for Azure pipelines
153+
- `#18
154+
<https://github.com/aboutcode-org/scancode-action/issues/18>`_
155+
* - 4
156+
- Add support for Jenkins
157+
- `#20
158+
<https://github.com/aboutcode-org/scancode-action/issues/20>`_
159+
* - 5
160+
- Add scorecard based compliance support
161+
- `#1794
162+
<https://github.com/aboutcode-org/scancode.io/issues/1794>`_
163+
* - 6
164+
- Add a mechanism to eliminate redundant Bash code across CI providers
165+
- `#22
166+
<https://github.com/aboutcode-org/scancode-action/issues/22>`_
167+
* - 7
168+
- Refactor License Clarity and Scorecard Compliance Thresholds into Unified Module
169+
- `#1797
170+
<https://github.com/aboutcode-org/scancode.io/issues/1797>`_
171+
* - 8
172+
- Policies validation incorrectly requires license_policies for all policy files
173+
- `#1813
174+
<https://github.com/aboutcode-org/scancode.io/issues/1813>`_
175+
176+
177+
Pre GSoC Work
178+
-------------
179+
180+
181+
Here are some of the PRs I submitted before GSoC:
182+
183+
184+
- `Enhanced package detection and improved license detection accuracy
185+
<https://github.com/aboutcode-org/scancode-toolkit/pull/4031>`_
186+
- `Fixed vulnerability data processing issues
187+
<https://github.com/aboutcode-org/vulnerablecode/pull/1744>`_
188+
- `Improved license classification and detection mechanisms
189+
<https://github.com/aboutcode-org/scancode-toolkit/pull/4138>`_
190+
- `Enhanced vulnerability database integration
191+
<https://github.com/aboutcode-org/vulnerablecode/pull/1758>`_
192+
193+
194+
Post GSoC
195+
---------
196+
197+
198+
I plan to continue contributing by:
199+
200+
201+
- Completing the Pull requests of integrating other CI providers in scancode-action
202+
203+
Links
204+
-----
205+
206+
207+
* `Project Idea
208+
<https://github.com/aboutcode-org/vulnerablecode/pull/1758>`_
209+
210+
211+
* `Official GSoC project page
212+
<https://summerofcode.withgoogle.com/programs/2025/projects/DsDoR5eF>`_
213+
214+
215+
* `GSoC Proposal
216+
<https://docs.google.com/document/d/1cmDTq3aq2J9iFNOo37V6C7ahy_ofbGRRtvtwDvW_Rrc/edit?tab=t.0>`_
217+
218+
219+
* `Project Board <https://github.com/orgs/aboutcode-org/projects/27>`_
220+
221+
222+
Acknowledgements
223+
----------------
224+
225+
226+
I would like to thank my mentors:
227+
228+
229+
- `Thomas Druez <https://github.com/tdruez>`_
230+
- `Dennis Clark <https://github.com/DennisClark>`_
231+
- `Pranay Das <https://github.com/404-geek>`_
232+
- `Avishrant Sharma <https://github.com/avishrantsSh/>`_
233+
234+
235+
Their guidance was instrumental throughout the project development. The regular feedback sessions
236+
helped me navigate complex architectural decisions, especially when designing the unified
237+
compliance mechanism.

0 commit comments

Comments
 (0)