Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from erlang:master #256

Merged
merged 21 commits into from
Mar 21, 2025
Merged

[pull] master from erlang:master #256

merged 21 commits into from
Mar 21, 2025

Conversation

pull[bot]
Copy link

@pull pull bot commented Mar 21, 2025

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.1)

Can you help keep this open source service alive? 💖 Please sponsor : )

Summary by Sourcery

Updates the CI workflow to use the OSS Review Toolkit (ORT) scanner and reporter for license and copyright detection. The changes include improvements to caching, the introduction of a REUSE tool for license compliance, and modifications to the scanning process to enhance accuracy and efficiency.

CI:

  • Updates the CI workflow to use the OSS Review Toolkit (ORT) scanner and reporter for license and copyright detection.
  • Improves caching of scan results to reduce redundant scanning.
  • Introduces a REUSE tool to improve license compliance.
  • Modifies the scanning process to enhance accuracy and efficiency.
  • Uses HTTPS instead of SSH for Git cloning.
  • Updates the build on FreeBSD to use a newer version of the FreeBSD VM.
  • Updates the docker login action to a newer version.
  • Updates the actions/checkout action to a newer version.
  • Updates the actions/upload-artifact action to a newer version.
  • Updates the oss-review-toolkit/ort-ci-github-action action to a newer version.
  • Adds a step to overwrite scan results using REUSE.
  • Changes the way the scan results are cached and linked.
  • Renames the 'Run OSS Review Toolkit reporter' job to 'Run OSS Review Toolkit (upload)'.
  • Removes the apache-2.0-or-lgpl-2.1-or-later.LICENSE file.
  • Removes the scan-code.escript file.
  • Adds a new script ort-scanner.es to handle the scanning process.
  • Removes the init.sh file and replaces it with a .profile file.
  • Updates the build-base-image action to a newer version.
  • Removes the Dockerfile.64-bit file.
  • Removes the Dockerfile.ubuntu-base file.

dependabot bot and others added 21 commits March 17, 2025 23:38
…2 updates

Bumps the github-actions group with 2 updates in the / directory: [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm) and [docker/login-action](https://github.com/docker/login-action).
Bumps the github-actions group with 1 update in the /.github/actions/build-base-image directory: [docker/login-action](https://github.com/docker/login-action).


Updates `vmactions/freebsd-vm` from 1.1.8 to 1.1.9
- [Release notes](https://github.com/vmactions/freebsd-vm/releases)
- [Commits](vmactions/freebsd-vm@848dac7...8873d98)

Updates `docker/login-action` from 3.3.0 to 3.4.0
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](docker/login-action@9780b0c...74a5d14)

Updates `docker/login-action` from 3.3.0 to 3.4.0
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](docker/login-action@9780b0c...74a5d14)

---
updated-dependencies:
- dependency-name: vmactions/freebsd-vm
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <[email protected]>
…1 update

Bumps the github-actions group with 1 update in the / directory: [docker/login-action](https://github.com/docker/login-action).
Bumps the github-actions group with 1 update in the /.github/actions/build-base-image directory: [docker/login-action](https://github.com/docker/login-action).


Updates `docker/login-action` from 3.3.0 to 3.4.0
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](docker/login-action@9780b0c...74a5d14)

Updates `docker/login-action` from 3.3.0 to 3.4.0
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](docker/login-action@9780b0c...74a5d14)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <[email protected]>
…1 update

Bumps the github-actions group with 1 update in the / directory: [docker/login-action](https://github.com/docker/login-action).
Bumps the github-actions group with 1 update in the /.github/actions/build-base-image directory: [docker/login-action](https://github.com/docker/login-action).


Updates `docker/login-action` from 3.3.0 to 3.4.0
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](docker/login-action@9780b0c...74a5d14)

Updates `docker/login-action` from 3.3.0 to 3.4.0
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](docker/login-action@9780b0c...74a5d14)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <[email protected]>
…1 update

Bumps the github-actions group with 1 update in the / directory: [docker/login-action](https://github.com/docker/login-action).
Bumps the github-actions group with 1 update in the /.github/actions/build-base-image directory: [docker/login-action](https://github.com/docker/login-action).


Updates `docker/login-action` from 3.3.0 to 3.4.0
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](docker/login-action@9780b0c...74a5d14)

Updates `docker/login-action` from 3.3.0 to 3.4.0
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](docker/login-action@9780b0c...74a5d14)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <[email protected]>
Bumps the github-actions group with 1 update in the / directory: [docker/login-action](https://github.com/docker/login-action).


Updates `docker/login-action` from 3.3.0 to 3.4.0
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](docker/login-action@9780b0c...74a5d14)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <[email protected]>
When scanning code for licenses, we now also include data
from `reuse lint` into the results. This allows us to have
more consistent results as reuse scanning is predictable in
a way that scancode is not.

We still keep scancode as it can find licenses in files that
do not yet use the `reuse` standard.
gh: Use data from reuse lint when scanning code
…ec7'

* dependabot/github_actions/master/github-actions-38de97dec7:
  build(deps): bump the github-actions group across 2 directories with 2 updates
…9e' into maint

* dependabot/github_actions/maint/github-actions-f5ea2a649e:
  build(deps): bump the github-actions group across 2 directories with 1 update
…a649e' into maint-26

* dependabot/github_actions/maint-26/github-actions-f5ea2a649e:
  build(deps): bump the github-actions group across 2 directories with 1 update
…a649e' into maint-27

* dependabot/github_actions/maint-27/github-actions-f5ea2a649e:
  build(deps): bump the github-actions group across 2 directories with 1 update
…f65df' into maint-25

* dependabot/github_actions/maint-25/github-actions-ffdcbf65df:
  build(deps): bump docker/login-action
@pull pull bot added the ⤵️ pull label Mar 21, 2025
@pull pull bot merged commit 9834e60 into garazdawi:master Mar 21, 2025
Copy link

sourcery-ai bot commented Mar 21, 2025

Reviewer's Guide by Sourcery

This pull request introduces significant changes to the build and compliance workflows. It integrates OSS Review Toolkit (ORT) for enhanced license scanning and reporting, updates Docker configurations, and refactors scanning logic into a dedicated script. The changes aim to improve the accuracy and efficiency of license detection and ensure compliance with licensing requirements.

Sequence diagram for OSS Review Toolkit (scanner) with cache

sequenceDiagram
  participant GHA as GitHub Actions
  participant Docker as Docker Container
  participant ORT as OSS Review Toolkit
  participant Cache as Scan Result Cache

  GHA->Docker: Run ORT scanner with cache
  alt Cache exists
    Docker->ORT: Initialize scan result from analyzer result
    ORT->ORT: Restore license results from cache
    ORT->ORT: Scan with ScanCode
  else Cache does not exist
    Docker->ORT: Initialize scan result from analyzer result
    ORT->ORT: Scan with ScanCode
  end
  ORT->ORT: Overwrite scan results using reuse
  ORT->Cache: Copy scan results to cache
  GHA->GHA: Upload scan results
Loading

File-Level Changes

Change Details Files
Updates the GitHub Actions workflow to use HTTPS for Git cloning and integrates OSS Review Toolkit (ORT) for license scanning and reporting.
  • Configures Git to use HTTPS instead of SSH for cloning.
  • Adds a job to build a Docker image with ScanCode Toolkit and reuse.
  • Restores scan results from cache if available.
  • Runs OSS Review Toolkit (scanner) to identify licenses.
  • Uploads scan results as artifacts.
  • Copies scan results to cache and links them.
  • Runs OSS Review Toolkit (reporter) to generate reports.
  • Uploads SPDX SBOM results as artifacts.
  • Runs OSS Review Toolkit (upload) to upload the report.
  • Overwrites scan results using reuse.
.github/workflows/main.yaml
Introduces a new script ort-scanner.es to handle ORT scanning logic, including initialization, cache restoration, and scanning with different tools.
  • Implements init command to create a scan-result from an analyze-result.
  • Implements restore-cache command to restore license results from an old scan-result.json file.
  • Implements scan command to update a scan-result.json file using 'scancode' or 'reuse'.
  • Adds logic to deduplicate scan results.
  • Adds logic to replace certain predefined mappings to NOASSERTION.
.github/scripts/ort-scanner.es
Modifies the otp-compliance.es script to improve SBOM generation and handle scan results more effectively.
  • Formats the SPDX SBOM file using json:format for better readability.
  • Updates the scan_results function to handle multiple scan results and merge their summaries.
  • Adds logic to handle multiple scan results and merge their summaries.
.github/scripts/otp-compliance.es
Replaces init.sh with .profile in the Dockerfiles to set up the environment for OTP builds.
  • Replaces init.sh with .profile.
  • Adds a line to export the path to the user's local bin directory.
.github/dockerfiles/.profile
Updates the build-base-image action to use a newer version of the docker/login-action and modifies caching.
  • Updates the docker/login-action to v3.4.0.
  • Updates the cache key for the base image.
.github/actions/build-base-image/action.yaml
Updates the update-base.yaml workflow to use a newer version of the docker/login-action.
  • Updates the docker/login-action to v3.4.0.
.github/workflows/update-base.yaml
Updates the path to the scan code script in .ort.yml.
  • Changes the path from scripts/scan-code.escript to .github/scripts/ort-scanner.es.
.ort.yml
Removes unused files.
  • Removes apache-2.0-or-lgpl-2.1-or-later.LICENSE.
  • Removes scan-code.escript.
  • Removes Dockerfile.64-bit.
  • Removes Dockerfile.ubuntu-base.
scripts/licensedetection/licenses/apache-2.0-or-lgpl-2.1-or-later.LICENSE
scripts/scan-code.escript
.github/dockerfiles/Dockerfile.64-bit
.github/dockerfiles/Dockerfile.ubuntu-base

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!
  • Generate a plan of action for an issue: Comment @sourcery-ai plan on
    an issue to generate a plan of action for it.

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant