Repository navigation
Declare and check published licences; release 0.6.0 (#202) - #207
Merged
Merged
Conversation
ironfix-dictionary declares MIT AND Apache-2.0 for the FIX Orchestra repositories it embeds. make check-licences (CI, lint.yml) maps every licence file and vendored specification in each publishable crate's cargo package --list to the SPDX id it needs and fails when the crate's license does not declare it; QuickFIX and FIXP specification content may never be published. check-package-fixp is kept as an alias. deny.toml and a cargo deny check licenses job allow MIT and Apache-2.0 plus five named permissive exceptions. Refs #202
Codecov Report✅ All modified and coverable lines are covered by tests.
... and 1 file with indirect coverage changes 🚀 New features to boost your workflow:
|
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
After #201,
ironfix-dictionaryships Apache-2.0 content (the FIX Orchestra repositories). This PR does three things:licensefield covers the licence files and vendored specifications it actually ships;Changes
Licence field.
ironfix-dictionarynow declareslicense = "MIT AND Apache-2.0". Every other crate stays MIT. Upstream publishes no NOTICE file, andspec/orchestra/LICENSE(Apache-2.0) ships in the package.make check-licences. It is inline in the Makefile and usescargo metadataandjq. For every publishable crate, it maps each path incargo package --listto the SPDX id that path needs, and fails when the crate's licence expression does not contain that id.lint.ymlruns it.spec/orchestra/*LICENSE,LICENSE-MITLICENSE-APACHE,NOTICEspec/filecheck-package-fixp(Keep the CC BY-ND FIXP schema out of published crates (fixp) #203) is now an alias of this check.cargo deny check licenses.deny.tomlcovers all features and allows MIT and Apache-2.0. Five per-crate exceptions are each justified in a comment. None of them is copyleft.unicode-identsubtlerustls-webpkiringuntrustedIt runs in a new
licencesjob inlint.yml, usingEmbarkStudios/cargo-deny-actionpinned to the v2.1.1 SHA.Release 0.6.0.
make version VERSION=0.6.0.ironfix-dictionary ^0.6, because a^0.5requirement would reject 0.6. Only that header line changed in the five view goldens.Public / contract impact
cargo-semver-checks0.50.0 against the 0.5.0 release (d614459, all features) reports no API break in any of the 10 packages. The bump is still 0.6.0, because #201 changes dictionary behaviour in breaking ways; the CHANGELOG states both facts.Publish order is unchanged.
Testing
cargo test --workspace: 2551 passed, 0 failed.-D warnings, check-spanish and the release build are all clean.make check-licences,check-tls-depsandcargo deny check licenses(cargo-deny 0.20.2) pass.ironfix-dictionary publishes spec/orchestra/LICENSE (Apache-2.0) but declares license = "MIT";ironfix-core/LICENSE-X:an unmapped licence file, exit 2;exclude:spec/LICENSE-FIXP ... may never be published (CC-BY-ND-4.0).Stack: #200 (merged) → #201 (merged) → #202 (this).
Closes #202