Use welcoming language (#90)

This commit is contained in:
Yim Lee 2021-01-22 00:42:50 -08:00 committed by GitHub
parent 68e6cb2938
commit 923775a5f6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 24 additions and 8 deletions

View File

@ -65,12 +65,12 @@ We require that your commit messages match our template. The easiest way to do t
SwiftMetrics uses XCTest to run tests on both macOS and Linux. While the macOS version of XCTest is able to use the Objective-C runtime to discover tests at execution time, the Linux version is not. SwiftMetrics uses XCTest to run tests on both macOS and Linux. While the macOS version of XCTest is able to use the Objective-C runtime to discover tests at execution time, the Linux version is not.
For this reason, whenever you add new tests **you have to run a script** that generates the hooks needed to run those tests on Linux, or our CI will complain that the tests are not all present on Linux. To do this, merely execute `ruby ./scripts/generate_linux_tests.rb` at the root of the package and check the changes it made. For this reason, whenever you add new tests **you have to run a script** that generates the hooks needed to run those tests on Linux, or our CI will complain that the tests are not all present on Linux. To do this, merely execute `ruby ./scripts/generate_linux_tests.rb` at the root of the package and check the changes it made.
### Run `./scripts/sanity.sh` ### Run `./scripts/soundness.sh`
The scripts directory contains a [sanity.sh script](https://github.com/apple/swift-metrics/blob/main/scripts/sanity.sh) The scripts directory contains a [soundness.sh script](https://github.com/apple/swift-metrics/blob/main/scripts/soundness.sh)
that enforces additional checks, like license headers and formatting style. that enforces additional checks, like license headers and formatting style.
Please make sure to `./scripts/sanity.sh` before pushing a change upstream, otherwise it is likely the PR validation will fail Please make sure to `./scripts/soundness.sh` before pushing a change upstream, otherwise it is likely the PR validation will fail
on minor changes such as a missing `self.` or similar formatting issues. on minor changes such as a missing `self.` or similar formatting issues.
> The script also executes the above mentioned `generate_linux_tests.rb`. > The script also executes the above mentioned `generate_linux_tests.rb`.
@ -81,8 +81,8 @@ For frequent contributors, we recommend adding the script as a [git pre-push hoo
cat << EOF > .git/hooks/pre-push cat << EOF > .git/hooks/pre-push
#!/bin/bash #!/bin/bash
if [[ -f "scripts/sanity.sh" ]]; then if [[ -f "scripts/soundness.sh" ]]; then
scripts/sanity.sh scripts/soundness.sh
fi fi
EOF EOF
``` ```

View File

@ -22,9 +22,9 @@ services:
- CAP_NET_RAW - CAP_NET_RAW
- CAP_NET_BIND_SERVICE - CAP_NET_BIND_SERVICE
sanity: soundness:
<<: *common <<: *common
command: /bin/bash -xcl "./scripts/sanity.sh" command: /bin/bash -xcl "./scripts/soundness.sh"
docs: docs:
<<: *common <<: *common

View File

@ -47,6 +47,22 @@ else
printf "\033[0;32mokay.\033[0m\n" printf "\033[0;32mokay.\033[0m\n"
fi fi
printf "=> Checking for unacceptable language... "
# This greps for unacceptable terminology. The square bracket[s] are so that
# "git grep" doesn't find the lines that greps :).
unacceptable_terms=(
-e blacklis[t]
-e whitelis[t]
-e slav[e]
-e sanit[y]
)
if git grep --color=never -i "${unacceptable_terms[@]}" > /dev/null; then
printf "\033[0;31mUnacceptable language found.\033[0m\n"
git grep -i "${unacceptable_terms[@]}"
exit 1
fi
printf "\033[0;32mokay.\033[0m\n"
printf "=> Checking format... " printf "=> Checking format... "
FIRST_OUT="$(git status --porcelain)" FIRST_OUT="$(git status --porcelain)"
swiftformat . > /dev/null 2>&1 swiftformat . > /dev/null 2>&1
@ -60,7 +76,7 @@ else
fi fi
printf "=> Checking license headers\n" printf "=> Checking license headers\n"
tmp=$(mktemp /tmp/.swift-metrics-sanity_XXXXXX) tmp=$(mktemp /tmp/.swift-metrics-soundness_XXXXXX)
for language in swift-or-c bash dtrace; do for language in swift-or-c bash dtrace; do
printf " * $language... " printf " * $language... "