Skip to content

Commit

Permalink
Use welcoming language (#90)
Browse files Browse the repository at this point in the history
  • Loading branch information
yim-lee committed Jan 22, 2021
1 parent 68e6cb2 commit 923775a
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 8 deletions.
10 changes: 5 additions & 5 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
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.

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.

> The script also executes the above mentioned `generate_linux_tests.rb`.
Expand All @@ -81,8 +81,8 @@ For frequent contributors, we recommend adding the script as a [git pre-push hoo
cat << EOF > .git/hooks/pre-push
#!/bin/bash
if [[ -f "scripts/sanity.sh" ]]; then
scripts/sanity.sh
if [[ -f "scripts/soundness.sh" ]]; then
scripts/soundness.sh
fi
EOF
```
Expand Down
4 changes: 2 additions & 2 deletions docker/docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ services:
- CAP_NET_RAW
- CAP_NET_BIND_SERVICE

sanity:
soundness:
<<: *common
command: /bin/bash -xcl "./scripts/sanity.sh"
command: /bin/bash -xcl "./scripts/soundness.sh"

docs:
<<: *common
Expand Down
18 changes: 17 additions & 1 deletion scripts/sanity.sh → scripts/soundness.sh
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,22 @@ else
printf "\033[0;32mokay.\033[0m\n"
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... "
FIRST_OUT="$(git status --porcelain)"
swiftformat . > /dev/null 2>&1
Expand All @@ -60,7 +76,7 @@ else
fi

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
printf " * $language... "
Expand Down

0 comments on commit 923775a

Please sign in to comment.