ci: scan each published package as its own FOSSA project#1598
Open
hkad98 wants to merge 1 commit into
Open
Conversation
Switch the FOSSA workflow from a single gooddata-python-sdk project (with all 8 packages' deps merged) to one FOSSA project per PyPI artifact: gooddata-sdk, gooddata-pandas, gooddata-dbt, gooddata-fdw, gooddata-flight-server, gooddata-flexconnect, gooddata-pipelines, and gooddata-api-client. This aligns FOSSA's data model with how the artifacts are actually shipped: each PyPI package has its own license inventory, attribution report, and policy gate, and the FOSSA "branch" axis is freed up for its intended purpose (tracking license drift across git branches over time). The legacy gooddata-python-sdk project keeps the historical fossa_gd_* branch snapshots; new scans no longer write to it. Local `fossa analyze` invocations still target the legacy project via the committed .fossa.yml so ad-hoc runs cannot accidentally pollute the per-package projects. Implementation is a matrix workflow: each shard rewrites .fossa.yml with its project id + paths.only, then runs fossa-action's analyze and test steps. fail-fast is disabled so one package's policy failure does not mask the others. The branch label defaults to github.ref_name (the dispatched git ref) with an optional manual override input. Prerequisites for the first dispatch to fully succeed: - The seven new FOSSA project ids must be auto-creatable (or pre- provisioned) by an admin if the org restricts project creation. - Confirm with whoever owns the FOSSA contract that moving from 1 to 8 projects has no licensing/billing impact under the current plan. JIRA: TRIVIAL risk: nonprod
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Follow-up to #1596. Switches the FOSSA workflow from a single
gooddata-python-sdkproject (with all 8 packages' deps merged) to one FOSSA project per PyPI artifact:gooddata-sdk,gooddata-pandas,gooddata-dbt,gooddata-fdw,gooddata-flight-server,gooddata-flexconnect,gooddata-pipelines,gooddata-api-client.This is the orthodox FOSSA model for a monorepo that publishes multiple artifacts:
pip install.fossa_gd_*pattern).The legacy
gooddata-python-sdkFOSSA project keeps its historicalfossa_gd_*branch snapshots (e.g. the Oct 2023fossa_gd_api_clientscan); new dispatches no longer write to it. Localfossa analyzecalls still target the legacy project via the committed.fossa.yml, intentionally — ad-hoc local runs cannot accidentally pollute the per-package projects.Implementation
workflow_dispatchtrigger (unchanged).strategy.matrixover 8 packages,fail-fast: falseso one package's policy failure does not mask the others..fossa.ymlwith that package'sproject.idandpaths.only, then runsfossa-action's analyze and test steps.github.ref_name(the dispatched git ref) with an optional manual override input.Prerequisites for the first green dispatch
gooddata-api-client, which exists already as a legacy artifact) must be auto-creatable on first scan, or pre-provisioned by a FOSSA admin if your org restricts project creation.Test plan
JIRA: TRIVIAL
risk: nonprod