|
| 1 | +--- |
| 2 | +title: Week 7 |
| 3 | +author: Rajul Jha |
| 4 | +tags: [gsoc24, CI] |
| 5 | +--- |
| 6 | +<!-- |
| 7 | +SPDX-License-Identifier: CC-BY-SA-4.0 |
| 8 | +
|
| 9 | +SPDX-FileCopyrightText: 2024 Rajul Jha <rajuljha49gmail.com> |
| 10 | +--> |
| 11 | + |
| 12 | +# Week 7 |
| 13 | +*(July, 12 2024 - July 18, 2024)* |
| 14 | + |
| 15 | +## Meeting 1 |
| 16 | +*(July 17, 2024)* |
| 17 | + |
| 18 | +## Attendees |
| 19 | + |
| 20 | +* [Rajul Jha](https://github.com/rajuljha) |
| 21 | +* [Gaurav](https://github.com/GMishx) |
| 22 | +* [Kaushlendra](https://github.com/Kaushl2208) |
| 23 | +* [Avinal Kumar](https://github.com/avinal) |
| 24 | +* Katharina |
| 25 | + |
| 26 | +## Discussions |
| 27 | + |
| 28 | +* Discussed the work done on the Fossology Github Action [#PR1](https://github.com/fossology/fossology-action/pull/1) with the mentors. |
| 29 | +* Discussed some issues that were encountered during the testing of [#PR2784](https://github.com/fossology/fossology/pull/2784) by [Kaushal](https://github.com/Kaushl2208) |
| 30 | +* Had a brief discussion on how to improve the examples that are given in the Github workflow file. |
| 31 | +* [Shaheem](https://github.com/shaheemazmalmmd) mentioned I should also start working on the documentation part for the Wiki. |
| 32 | +* Had a fun discussion about what to name the new repository.😁 |
| 33 | + |
| 34 | +## Work Done |
| 35 | + |
| 36 | +* Completed the initial work on Fossology Action repository and sent out a [#PR1](https://github.com/fossology/fossology-action/pull/1) for the same. |
| 37 | +* The new Github Action allows the users to scan using the fossology scanners ( `nomos`, `ojo` and `copyright` ) inside their Github Actions workflows in just a few lines of configuration. |
| 38 | + |
| 39 | +```yaml |
| 40 | +name: License scan on PR |
| 41 | +on: [pull_request] |
| 42 | +jobs: |
| 43 | + compliance_check: |
| 44 | + runs-on: ubuntu-latest |
| 45 | + name: Perform license scan |
| 46 | + steps: |
| 47 | + - name: Checkout |
| 48 | + uses: actions/checkout@v2 |
| 49 | + |
| 50 | + - name: License check |
| 51 | + id: compliance |
| 52 | + uses: fossology/fossology-action@v1 |
| 53 | + with: |
| 54 | + scan_mode: '' |
| 55 | + scanners: 'nomos ojo' |
| 56 | + report_format: 'SPDX_JSON' |
| 57 | + |
| 58 | +``` |
| 59 | + |
| 60 | +* User can scan in various scanning modes like `diff`, `repo` and `differential`. |
| 61 | +* User can retrieve the scan results report as an artifact in Github Actions in various formats like `SPDX_JSON`, `SPDX_YAML`, `SPDX_RDF` and `SPDX_TAG_VALUE` by passing the format as an input with the action. |
| 62 | +* The action also allows the user to pass various custom parameters like passing their own `keyword.conf` or `allowlist.json` file. |
| 63 | + |
| 64 | +```yaml |
| 65 | +scan_mode: |
| 66 | + description: "Specifies whether to perform diff scans, repo scans, or differential scans. Leave blank for diff scans." |
| 67 | + required: false |
| 68 | + default: "" |
| 69 | +scanners: |
| 70 | + description: "Space-separated list of scanners to invoke." |
| 71 | + required: true |
| 72 | + default: "nomos ojo copyright keyword" |
| 73 | +report_format: |
| 74 | + description: "Report format (SPDX_JSON,SPDX_RDF,SPDX_YAML,SPDX_TAG_VALUE) to print the results in." |
| 75 | + required: false |
| 76 | + default: "" |
| 77 | +keyword_conf_file_path: |
| 78 | + description: "Path to custom keyword.conf file. (Use only with keyword scanner set to True)" |
| 79 | + required: false |
| 80 | + default: "" |
| 81 | +allowlist_file_path: |
| 82 | + description: "Path to allowlist.json file." |
| 83 | + required: false |
| 84 | + default: "" |
| 85 | +from_tag: |
| 86 | + description: "Starting tag to scan from. (Use only with differential mode)" |
| 87 | + required: false |
| 88 | + default: "" |
| 89 | +to_tag: |
| 90 | + description: "Ending tag to scan to. (Use only with differential mode)" |
| 91 | + required: false |
| 92 | + default: "" |
| 93 | +``` |
| 94 | +
|
| 95 | +* Fixed some of the bugs in the previous PR's before they were merged. |
| 96 | +* Got a review from [Gaurav](https://github.com/GMishx) to reduce code duplication at some places and try to maintain backward compatibility in the code. |
| 97 | +
|
| 98 | +## Planning for next week |
| 99 | +* Refactor the code in the previous PR's to reduce code duplication (following the DRY principle) and better function handling. |
| 100 | +* Try to complete the line number part for the scanner parts as well. |
| 101 | +* Research about the next step for allowing the users to download scanned dependencies. |
0 commit comments