Unverified Commit 600c26da authored by John DiSanti's avatar John DiSanti Committed by GitHub
Browse files

Add license checks to CI (#1687)

parent 353d81c5
Loading
Loading
Loading
Loading
+54 −0
Original line number Diff line number Diff line
# This is the config file for `cargo-deny` used in CI

# This section is considered when running `cargo deny check licenses`
# More documentation for the licenses section can be found here:
# https://embarkstudios.github.io/cargo-deny/checks/licenses/cfg.html
[licenses]
default = "deny"
unlicensed = "deny"
copyleft = "deny"
allow-osi-fsf-free = "neither"
allow = [
    # See https://spdx.org/licenses/ for list of possible licenses
    # [possible values: any SPDX 3.11 short identifier (+ optional exception)].
    "Apache-2.0 WITH LLVM-exception",
    "Apache-2.0",
    "BSD-3-Clause",
    "ISC",
    "MIT",
    "MPL-2.0",
    "Unicode-DFS-2016",
]
confidence-threshold = 1.0
exceptions = [
    { allow = ["OpenSSL"], name = "ring", version = "*" },
]

[[licenses.clarify]]
name = "webpki"
version = "*"
expression = "MIT AND ISC"
license-files = [{ path = "LICENSE", hash = 0x001c7e6c }]

[[licenses.clarify]]
name = "ring"
expression = "MIT AND ISC AND OpenSSL"
license-files = [{ path = "LICENSE", hash = 0xbd0eed23 }]

# This section is considered when running `cargo deny check bans`.
# More documentation about the 'bans' section can be found here:
# https://embarkstudios.github.io/cargo-deny/checks/bans/cfg.html
[bans]
multiple-versions = "allow"
wildcards = "deny" # Don't allow wildcard dependencies
highlight = "all"
deny = []

# This section is considered when running `cargo deny check sources`.
# More documentation about the 'sources' section can be found here:
# https://embarkstudios.github.io/cargo-deny/checks/sources/cfg.html
[sources]
unknown-registry = "deny"
unknown-git = "deny"
allow-registry = ["https://github.com/rust-lang/crates.io-index"]
allow-git = []
+1 −0
Original line number Diff line number Diff line
@@ -96,6 +96,7 @@ jobs:
        test:
        - action: check-aws-config
        - action: check-aws-sdk-canary
        - action: check-aws-sdk-cargo-deny
        - action: check-aws-sdk-services
        - action: check-aws-sdk-smoketest-docs-clippy-udeps
        - action: check-aws-sdk-smoketest-unit-tests
+2 −0
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@ RUN set -eux; \
FROM bare_base_image AS install_rust
ARG rust_stable_version=1.61.0
ARG rust_nightly_version=nightly-2022-07-25
ARG cargo_deny_version=0.12.2
ARG cargo_udeps_version=0.1.29
ARG cargo_hack_version=0.5.14
ARG cargo_minimal_versions_version=0.1.4
@@ -93,6 +94,7 @@ ARG smithy_rs_commit_hash=main
# source code by checking out awslabs/smithy-rs/main rather than copying them from the local directory.
ARG checkout_smithy_rs_tools=false
RUN set -eux; \
    cargo install cargo-deny --locked --version ${cargo_deny_version}; \
    cargo +${rust_nightly_version} install cargo-udeps --locked --version ${cargo_udeps_version}; \
    cargo install cargo-hack --locked --version ${cargo_hack_version}; \
    cargo install cargo-minimal-versions --version ${cargo_minimal_versions_version}; \
+16 −0
Original line number Diff line number Diff line
#!/bin/bash
#
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
#

set -eux
cd aws-sdk

# Remove examples from workspace since they don't have license metadata
sed -i '/"examples\//d' Cargo.toml

cargo deny --all-features check \
  --hide-inclusion-graph \
  --config ../smithy-rs/.cargo-deny-config.toml \
  licenses bans sources