From e60cf727b112d5d355c6c24828d8ad22eeb48d4b Mon Sep 17 00:00:00 2001 From: Patrick Thomson Date: Mon, 17 Jun 2019 09:59:18 -0400 Subject: [PATCH 1/5] Add language detailing policy re. PR approvals/change requests. We've seen some members of the public come in and leave distracting reviews on our pull requests. This patch adds a clause to our contributing documentation that outlines why we don't want people to continue doing this. --- CONTRIBUTING.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 701353e35..62acbf9c9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -28,6 +28,8 @@ Here are a few things you can do that will increase the likelihood of your pull - Keep your change as focused as possible. If there are multiple changes you would like to make that are not dependent upon each other, consider submitting them as separate pull requests. - Write a [good commit message](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html). +Unless you are a member of the Semantic team or a code owner, we ask that you refrain from leaving approvals or change requests on in-progress pull requests, as spurious reviews make it difficult to discern which patches are truly ready for integration. + Please be aware that contributions to Semantic may multiple cycles of code review—we are grateful for all community involvement, but because Semantic powers real systems, we must maintain a high standard of code quality. For reasons of compatibility with production uses of Semantic within GitHub, we may also reject or require modifications to changes that would affect these systems. We may also reject patches that don't fit with our vision of the project; should this be the case, we will be clear about our rationale. ## Resources From fd2ba55d366293a64aa7a577af3d40900e952f3c Mon Sep 17 00:00:00 2001 From: Patrick Thomson Date: Mon, 17 Jun 2019 12:43:58 -0400 Subject: [PATCH 2/5] Address @dcreager's suggestions. --- CONTRIBUTING.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 62acbf9c9..bde54e265 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -7,6 +7,8 @@ Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great. +We're happy to accept code and documentation contributions, as well as issues suggesting new features, asking questions about how things work, or generally about what we're trying to accomplish! However, we are not opening up the code review process to the public. PRs should _only_ be reviewed by one of the project maintainers. Therefore, we ask that you refrain from leaving approvals or change requests on in-progress pull requests, as spurious reviews make it difficult to discern which patches are truly ready for integration. + Contributions to this project are [released](https://help.github.com/articles/github-terms-of-service/#6-contributions-under-repository-license) to the public under the [project's open source license](LICENSE.md). Please note that this project is released with a [Contributor Code of Conduct][code-of-conduct]. By participating in this project you agree to abide by its terms. From 2d4c889011b7f7f28521f48a1943077cd7f244f0 Mon Sep 17 00:00:00 2001 From: Patrick Thomson Date: Mon, 17 Jun 2019 13:23:05 -0400 Subject: [PATCH 3/5] Add script/bootstrap file. Fixes #135. --- README.md | 3 +-- script/bootstrap | 4 ++++ 2 files changed, 5 insertions(+), 2 deletions(-) create mode 100755 script/bootstrap diff --git a/README.md b/README.md index 279876578..332782893 100644 --- a/README.md +++ b/README.md @@ -101,8 +101,7 @@ We use `cabal's` [Nix-style local builds][nix] for development. To get started q ```bash git clone git@github.com:github/semantic.git cd semantic -git submodule sync --recursive && git submodule update --init --recursive --force -cabal new-update +script/bootstrap cabal new-build cabal new-test cabal new-run semantic -- --help diff --git a/script/bootstrap b/script/bootstrap new file mode 100755 index 000000000..a1a080e84 --- /dev/null +++ b/script/bootstrap @@ -0,0 +1,4 @@ +#!/bin/bash + +git submodule sync --recursive && git submodule update --init --recursive --force +cabal new-update From 7f77ab6e123f82e36fe2e99c616beadf86911065 Mon Sep 17 00:00:00 2001 From: Patrick Thomson Date: Mon, 17 Jun 2019 13:34:36 -0400 Subject: [PATCH 4/5] Emphasize `ghcup` and discourage use of system GHCs. In #109, we encountered Arch users whose build failed because Arch installs a GHC configured to use dynamic linking by default, and GHC is relatively reluctant to use dynamic linking (and sensibly, too, given that ABIs vary between releases of GHC). Though Arch users should be able to work around this problem with careful use of `new-configure` flags, I submit that we should strongly encourage people to use sandboxed, statically-linked GHCs, rather than contort our code to account for questionable decisions on the part of the OS. --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 279876578..c5da95dd7 100644 --- a/README.md +++ b/README.md @@ -96,6 +96,8 @@ Available options: ## Development +`semantic` requires at least GHC 8.6.4 and Cabal 2.4. We strongly recommend using [`ghcup`][ghcup] to sandbox GHC versions, as system packages installed from OS distributions may not install statically-linked versions of the GHC boot libraries. + We use `cabal's` [Nix-style local builds][nix] for development. To get started quickly: ```bash @@ -108,7 +110,7 @@ cabal new-test cabal new-run semantic -- --help ``` -`semantic` requires at least GHC 8.6.4 and Cabal 2.4. We recommend using [`ghcup`][ghcup] to sandbox GHC versions. `stack` as a build tool is not officially supported; there is an unofficial [`stack.yaml`](https://gist.github.com/jkachmar/f200caee83280f1f25e9cfa2dd2b16bb) available, though we cannot make guarantees as to its stability. + `stack` as a build tool is not officially supported; there is an unofficial [`stack.yaml`](https://gist.github.com/jkachmar/f200caee83280f1f25e9cfa2dd2b16bb) available, though we cannot make guarantees as to its stability. [nix]: https://www.haskell.org/cabal/users-guide/nix-local-build-overview.html [stackage]: https://stackage.org From 992c84c03135e2356a17f5e7b9f2c32b5044f4ec Mon Sep 17 00:00:00 2001 From: Patrick Thomson Date: Mon, 17 Jun 2019 13:52:00 -0400 Subject: [PATCH 5/5] better language --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c5da95dd7..399bd176e 100644 --- a/README.md +++ b/README.md @@ -96,7 +96,7 @@ Available options: ## Development -`semantic` requires at least GHC 8.6.4 and Cabal 2.4. We strongly recommend using [`ghcup`][ghcup] to sandbox GHC versions, as system packages installed from OS distributions may not install statically-linked versions of the GHC boot libraries. +`semantic` requires at least GHC 8.6.4 and Cabal 2.4. We strongly recommend using [`ghcup`][ghcup] to sandbox GHC versions, as GHC packages installed through your OS's package manager may not install statically-linked versions of the GHC boot libraries. We use `cabal's` [Nix-style local builds][nix] for development. To get started quickly: