Commit Graph
73 Commits
Author SHA1 Message Date
Chandler Carruth f00a8a3853 Run pre-commit scripts to update formatting and index of proposals. (#141)
These hadn't run successfully on the decision or had some stale
settings. Just cleaning up, nothing interesting changing here.
2020-08-12 03:41:25 -07:00
Sidney HummertandJon Meow ae6ba83e2e Decision for: Carbon Goals (#112)
* Add decision for proposal 51 (Goals)

* Update proposals/p0051-decision.md

Co-authored-by: Jon Meow <46229924+jonmeow@users.noreply.github.com>

Co-authored-by: Jon Meow <46229924+jonmeow@users.noreply.github.com>
2020-08-03 11:07:47 -07:00
Jon Meow 63d0b84303 Handle PR reviews. (#134)
The main comment on a review wasn't being handled, and this change interleaves it with the PR comments. GitHub treats these as different entities.

I'm hiding reviews with no top-level comment; these didn't seem worth including empty comments.

Links are being added to PR comments to make them easier to find. This means indenting the content, so now all comments (PR or review thread) are consistently indented, removing a parameter. Also, I'm adjusting the formatting of review threads to match.

snippets for comparison:
```
https://github.com/carbon-language/carbon-lang/pull/83#issuecomment-645573273
  googlebot: All (the pull request submitter and all commit authors) CLAs are...

https://github.com/carbon-language/carbon-lang/pull/83#pullrequestreview-434377138
  chandlerc: Overall, I think this is a pretty significant improved direction...
```

and from a review thread:
```
https://github.com/carbon-language/carbon-lang/pull/83/files/9863da8#diff-8f28081abb21e65fba5a0b0b29404c78R16
  - line 16; unresolved
  - diff: https://github.com/carbon-language/carbon-lang/pull/83/files/9863da8..HEAD#diff-8f28081abb21e65fba5a0b0b29404c78L16
  josh11b: ```suggestion¶ - Block comments begin with a line starting with `/...
  jonmeow: "begin with a line starting with" phrasing is a little confusing t...
  josh11b: As I understand @zygoloid 's lexing proposal, there may be additio...
  jonmeow: Rewritten with example
```
2020-07-31 13:16:15 -07:00
Jon Meow 598283cd5c Link to comments as they are in files. (#133) 2020-07-31 08:24:47 -07:00
Jon Meow d031f3cdab An incomplete, early, and in-progress overview of the language design. (#83)
Co-authored by: chandlerc

- Based on [PR 22](https://github.com/carbon-language/carbon-lang/pull/83)
- [Idea topic](https://forums.carbon-lang.dev/t/proposal-for-an-incomplete-rough-high-level-overview-ready-for-early-feedback/52)
- [RFC](https://forums.carbon-lang.dev/t/rfc-an-incomplete-early-and-in-progress-overview-of-the-language-design/73)
- [Decision announcement](https://forums.carbon-lang.dev/t/accepted-an-incomplete-early-and-in-progress-overview-of-the-language-design/110)

This proposal should be considered a starting point of the language design. It's not intended to be final; language details may change. This is intended to offer a reasonable starting point for:

- Example code.
- Conceptualizing Carbon at a high level.
- Reasonable, but not necessarily final, approaches to features in README.md.
  - If any idea is obviously bad, we can clean it up here.

This proposal is not intended to achieve:

- A whole language design.
  - This is way too much work for a single proposal; this is a skeletal framework only.
  - As we work on feature-specific designs, we may decide to use other approaches. That's fine: we only need somewhere to start.
  - The summaries in README.md may be expected to change over time.
- Feature-specific files aren't intended to be well-written or comprehensive. They are a quick jot of prior thoughts.
  - We want to avoid getting stuck on language details that we should consider
    more carefully regardless. If you're passionate about a feature, please feel
    free to start a new proposal for it.
  - Each and every aspect of the suggested overview should be subject to careful
    examination and justification before it becomes a settled plan of record.

Chandler started this with https://github.com/carbon-language/carbon-lang/pull/22. I've taken it over with the following changes:

- More of a directory hierarchy.
- Trying to thin out the main file (now README.md) to lighter summaries of features.
- Details/rationale/alternatives should be in feature-specific files.
  - Draft files are linked as references where added.

For an example of how we may proceed with feature-specific designs, see https://github.com/carbon-language/carbon-lang/pull/80. In this structure:

- docs/design/README.md mentions interoperability, with a light overview.
  - The light overview is not yet in https://github.com/carbon-language/carbon-lang/pull/80.
- docs/design/interoperability/README.md goes into more depth on interoperability, covering key points of the approach.
- Individual files in docs/design/interoperability/* go into more depth on interoperability.

Simple designs may not have a subdirectory. All current feature-specific designs do not -- they may be moved later.
2020-07-30 11:37:15 -07:00
Jon Meow b8be334ab3 Brushing up review manager docs. (#119)
- Add mentions of new "comment deadline" label.
- Link to review manager doc from evolution doc.
- Standardize evolution doc on "topic" instead of "forum topic" (use was mixed).
2020-07-30 11:05:14 -07:00
Jon Meow 3706d4350d Polish script, address TODOs (#131) 2020-07-30 11:00:08 -07:00
Jon Meow 70ee36e8bb Support pagination and improve location info for comments. (#129) 2020-07-28 17:27:50 -07:00
Jon Meow fd4bf92717 Script to list PR comments (#128) 2020-07-28 15:53:09 -07:00
Jon Meow be116a46c9 Adjust md tab width to work better cross-markdown-parser (#124)
We're running into issues with md handlers that expect this kind of 4-space indent. It should be cross-compatible with GH, so switch, even though it feels a little churny.

Manual edits are to:

- .prettierrc.yaml:
    - rename from .prettierrc
    - add tabWidth (primary change)
    - add trailingComma (fix vimPrettier skew)
- contribution_tools.md: Fix remarks about .prettierrc.yaml
- pre-commit-toc.js: indent, bullets
- pre-commit-proposal-list.py: indent of output

The rest is the result of `pre-commit run --all-files`

Unfortunately this'll probably depend on the change being propagated into PR branches, so I wouldn't be surprised if we see regressions for a bit. We'll also need to nudge people to update .vimrc's. Hopefully the pre-commit GH action helps catch issues.
2020-07-27 10:47:38 -07:00
Jon Meow 435ed95ab2 Add 'developers' to the style guide (#118) 2020-07-27 10:33:30 -07:00
Jon Meow 34b77e97f3 Clean up goals wording in readme (#122) 2020-07-27 09:14:50 -07:00
George Kulakowski ba7d7c3c0e Fix the spelling of 'hardware' (#123) 2020-07-24 15:08:06 -07:00
Jon Meow 6edd57da02 Switch from em dash to -- for style. (#116)
Partly for relevant discussion on goals (where I didn't want to combine discussions), partly for https://github.com/carbon-language/carbon-lang/issues/106#issuecomment-657932678 in particular.
2020-07-21 19:28:01 -07:00
Jon Meow c1ab43c2e6 Stop specifying the full python version for black (#117)
python3.6 causes weird venv issues for at least josh11b -- not sure why. 

```
$ ls -l /usr/bin/python3.6
-rwxr-xr-x 2 root root 4538776 Jan  2  2019 /usr/bin/python3.6*
$ virtualenv -p python3.6 venv
RuntimeError: failed to find interpreter for Builtin discover of python_spec='python3.6'
```
2020-07-21 18:01:12 -07:00
Jon Meow f7b0a60cb2 Fix pre-commit issues from #51. (#115) 2020-07-20 14:36:16 -07:00
Jon Meow 00152b4ca6 Proposal for Goals (#51)
Co-authored with chandlerc

- [Draft doc](https://docs.google.com/document/d/1MJvVIDXQrhIj6hZ7NwMDbDch9XLO2VaYrGq29E57meU/edit)
- [RFC topic](https://forums.carbon-lang.dev/t/rfc-goals-for-carbon/69)
- [Decision request](https://forums.carbon-lang.dev/t/request-for-decision-goals-for-carbon/91)
- [Decision announcement](https://forums.carbon-lang.dev/t/accepted-goals-for-carbon/98)
2020-07-20 14:15:04 -07:00
Jon Meow c325ba61d4 Decision for: Linear, rebase, and pull-request GitHub workflow (#29) (#100)
- [Proposal PR](https://github.com/carbon-language/carbon-lang/pull/29)
- [RFC](https://forums.carbon-lang.dev/t/rfc-use-a-linear-pull-request-github-worflow/53)
- [Decision request](https://forums.carbon-lang.dev/t/request-for-decision-proposal-for-an-explicit-github-workflow-29/78)
- [Decision announcement](https://forums.carbon-lang.dev/t/accepted-linear-rebase-and-pull-request-github-workflow/88)
2020-07-20 14:01:57 -07:00
Jon MeowandRichard Smith af67e7452f Creates a convenience script for making new proposals. (#96)
Co-authored-by: Richard Smith <richard@metafoo.co.uk>
2020-07-10 13:37:46 -07:00
Chandler Carruth 444e48c210 Restrict publishing job to the main repository. (#104)
See the
[documentation](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idif)
for details on the syntax, and the [context
docs](https://docs.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#github-context)
for the API used.
2020-07-09 14:48:51 -07:00
Jon Meow 4e09f03981 Consolidate towards github usernames (#105) 2020-07-08 15:32:27 -07:00
Jon Meow 53163b684e Clarify the need for a stub commit in the template. (#94) 2020-07-06 16:34:31 -07:00
Chandler Carruth 3505a258be Fix line wraps. (#102) 2020-07-03 15:35:55 -07:00
Bryce Adelstein Lelbach aka wash 15b0971eae Correct references to the default branch to use the new name, trunk. (#101) 2020-07-03 00:49:36 -07:00
c5ddb57dd7 Proposal for an explicit GitHub workflow. (#29)
* Proposal for an explicit GitHub workflow.

This suggests a GitHub workflow that uses pull requests, produces linear
history, and both incentivizes and encourages small, incremental changes
(both at the pull request and commit granularity). It tries to follow
general best practices around software engineering at scale and GitHub
workflows. It also tries to ensure the workflow is very well supported
by tooling and automation built into GitHub.

Of note, this proposal should match precisely the current enforced flow
on our GitHub repositories. But we need to actually decide we like this,
write up the rationale behind it, and document what we're doing.

I've added an abbreviated version of the proposal as a documentation
update to the contributing file. Happy to restructure or find a better
home for this. I've tried to focus on the parts that contributors
actually would need to care about as opposed to the things that are
simply and fully enforced mechanically.

My hope after this is to suggest more detailed code review guidelines.

* Addressing review comments.

Notably, I really was giving too much weight to multi-commit PRs which
shouldn't be the common or default. I've tried to restructure everything
to make it much more clear what is going on here.

* Minor tweaks

* Fix typo in CONTRIBUTING.md

Co-authored-by: josh11b <josh11b@users.noreply.github.com>

* Extract workflow description and remove redundancies.

* remove tracking issue template field

* Update proposals/p0029.md with reviewer suggsetion.

Co-authored-by: Dmitri Gribenko <gribozavr@gmail.com>

* Continue to address review feedback.

* Apply suggestions from code review

Co-authored-by: Jon Meow <46229924+jonmeow@users.noreply.github.com>
Co-authored-by: austern <austern@google.com>

* Incorporate code review feedback and begin moving toward "trunk" based terminology

* Tweak the wording and make it a bit more consistent.

* Update docs/project/pull_request_workflow.md

Co-authored-by: Dmitri Gribenko <gribozavr@gmail.com>

* Address more review comments.

* Correct the rationale.

* Tweak wording based on discussion in review.

* Improve the rationale around the default branch to avoid overstating or
misstatig things.

* Apply suggestions from code review

Co-authored-by: Jon Meow <46229924+jonmeow@users.noreply.github.com>

* Clean up formatting and address a couple of comments on grammar from review.

* Update docs/project/pull_request_workflow.md

Co-authored-by: austern <austern@google.com>

* Add to proposal list.

Co-authored-by: josh11b <josh11b@users.noreply.github.com>
Co-authored-by: Dmitri Gribenko <gribozavr@gmail.com>
Co-authored-by: Jon Meow <46229924+jonmeow@users.noreply.github.com>
Co-authored-by: austern <austern@google.com>
2020-06-30 23:12:39 -07:00
Jon Meow f12e86c23c Script a list of proposals in proposals/README.md (#92)
Per request from chandlerc, to make it easier to skim proposal titles outside the website.

Also fix the title of markdown-toc.
2020-06-29 15:42:26 -07:00
Jon Meow bc76242838 Configure black for Python formatting (#97) 2020-06-29 11:34:15 -07:00
josh11b 07e814ae5f Tell codespell to ignore: copyable,circularly (#99) 2020-06-26 16:16:04 -07:00
Jon Meow 551de7db93 Use https://github.com/pre-commit/action (#85)
This will run checks and fail if there's a problem. It'll show on PRs alongside the CLA check.
2020-06-25 08:42:55 -07:00
Jon Meow 55c8d898e1 Enable pagination in octokit calls. (#91)
Especially relevant now that we're over 30 people.

The console logs are just helpful flags for possible bugs.
2020-06-25 08:38:43 -07:00
Jon Meow 65cfd73b78 Enable codespell pre-commit (#90)
This catches some common spelling errors, but is *not* an exhaustive spell-checker. The only false positive is "rouge" in Gemfile.lock, which is why I'm excluding that file.

True positives are in the change, and it does catch the "langauge" typo I keep making, which zygoloid fixed for me in a few spots. False negatives are:

- virmc
- Announcemented
- propsal

For comparison:

- cspell (https://www.npmjs.com/package/cspell) is too aggressive and has a small dictionary
  - Caught the false negatives, but many false positives, including 'LLVM', 'roadmap', 'Carruth'
- https://github.com/lorenzwalthert/precommit has a spellcheck, but config looks ruby-specific
2020-06-25 08:37:03 -07:00
Jon Meow c0b63c5361 Help with proper toc labeling (#86)
Particularly to fix casing if somebody does "Table of Contents"
2020-06-22 11:36:16 -07:00
Jon Meow 444e041317 Small doc improvement about pre-commit use (#88) 2020-06-19 15:24:47 -07:00
Chandler Carruth a08a9afbf0 Make the TOC pre-commit script more flexible in finding node. (#82) 2020-06-17 20:22:46 -07:00
Jon Meow 574da45a6b Remove sharing message, it's not particular to proposals
This sentence feels like a hold-over from the Google Doc, which still feels useful in that context. Especially because it's so easy to copy/share Docs outside the shared drive. However, for things going to GitHub, it seems like we should either have it everywhere or nowhere, and it doesn't feel helpful enough to have in every file.

My feeling would be different about a notice on the website -- that could be done centrally for all pages, and may be more useful. However, I haven't bothered there because we restrict access to docs, and I think the login flow should make it clearer that a lack of re-sharing is the intent.
2020-06-17 09:20:22 -07:00
Jon Meow 3a80cf363e Minor formatting fixes (#78) 2020-06-17 09:18:17 -07:00
Jon Meow 1a784b4b84 Minor formatting fix for list (#79) 2020-06-17 09:18:05 -07:00
Richard Smith 7e81d1c213 Fix typo 'langauge'. 2020-06-16 17:58:17 -07:00
Jon Meow 06e560e502 Review manager doc (#75)
Mostly to have templates in a central place.
2020-06-16 14:49:57 -07:00
Jon Meow 4a07b436d9 Decision for proposal timelines. (#43)
Decision for https://github.com/carbon-language/carbon-lang/pull/74:
"Proposal to change comment/decision timelines"
2020-06-16 11:12:21 -07:00
sidney13andJon Meow 61e57af028 Proposal to change comment/decision timelines (#74)
* Proposal timeline proposal

As this proposal was started and approved before the PR-based process was in place, this PR will be used to put the old proposal Doc that was approved into Markdown.

* Update p00xx.md

* Rename the proposal file to match the PR

Also update the reference inside the file.

* Update proposals/p0074.md

Co-authored-by: Jon Meow <46229924+jonmeow@users.noreply.github.com>

* Update proposals/p0074.md

Co-authored-by: Jon Meow <46229924+jonmeow@users.noreply.github.com>

Co-authored-by: Jon Meow <46229924+jonmeow@users.noreply.github.com>
2020-06-16 10:21:16 -07:00
sidney13andJon Meow 293b428eb0 Create p0044-decision.md (#47)
* Create p0044-decision.md

Document the approval and rationale for the "Carbon: Proposal Tracking" proposal.

* Fix typo

Co-authored-by: Jon Meow <46229924+jonmeow@users.noreply.github.com>

* Format using Prettier

* Punctuation/typo fixes

Co-authored-by: Jon Meow <46229924+jonmeow@users.noreply.github.com>
2020-06-16 10:19:15 -07:00
Jon MeowandChandler Carruth f1e4323fda Set up pre-commit (#73)
Added here:

- .pre-commit-config.yaml
- docs/project/contribution_tools.md
- src/scripts/pre-commit-toc.js
- CONTRIBUTING.md
- proposals/* (just to switch TOC formats)

The rest consists of auto-generated fixes.

The switch from doctoc to markdown-toc is because doctoc wants to put a TOC in every file, whereas markdown-toc only does it if you have an insertion point.

Co-authored-by: Chandler Carruth <chandlerc@gmail.com>
2020-06-16 09:09:10 -07:00
Jon Meow a3e8a5e389 More "or four working days" style (#72) 2020-06-15 11:50:59 -07:00
Jon MeowandChandler Carruth 809f074c55 Minor doc style cleanups (#70)
Co-authored-by: Chandler Carruth <chandlerc@gmail.com>

Trying to bring docs closer to the developer documentation style guide.
2020-06-12 07:58:12 -07:00
Jon Meow 503cad3c38 Adjust style of evolution doc (#67)
- Sentence case headers: https://developers.google.com/style/headings
- Remove parentheticals where possible: https://developers.google.com/style/parentheses
- Avoid latin abbreviations: https://developers.google.com/style/abbreviations#dont-use

Also some evolution-specific changes:

- Remove obsolete PDF references
- "decision is to accept the proposal" instead of "decision is to approve the change"
- Adjust review manager actions for accepted/declined/deferred decisions.
- Rephrase arbiter decisions, particularly to avoid 1-0 being considered a "majority".
  - I think this was always intended, and does not reflect a substantive change.
2020-06-11 21:21:01 -07:00
Jon Meow 411c171b95 Add a script for updating the triage group (#64)
We're using labels for proposals... https://github.com/carbon-language/carbon-lang/settings/access allows granting triage access for specific teams. https://github.com/organizations/carbon-language/settings/member_privileges doesn't appear to allow doing the same at the org-level. So I've decided to create a team that mirrors the org, and grants triage access. `¯\_(ツ)_/¯`

I don't know that this is the right solution long-term, but for now I think it's right.

Manually updating this group is slow and error-prone, so the script automates it.
2020-06-11 21:19:59 -07:00
sidney13 268b56cf20 Extend final comment period to 7 days (#60)
* Extend final comment period to 7 days

This is the implementation of proposal 0004, "Carbon: Change comment/decision timelines in proposal process"
2020-06-09 17:18:12 -07:00
josh11bandJon Meow e8cb551d2b First draft of a README for the principles/ directory. (#56)
* First draft of a README for the principles/ directory.

* More closely mirror the relevant section from the goals doc.

* Reword bit about excluding using chandlerc@'s suggested text.

* Link to goals doc.

* Update docs/project/principles/README.md

Co-authored-by: Jon Meow <46229924+jonmeow@users.noreply.github.com>

Co-authored-by: Jon Meow <46229924+jonmeow@users.noreply.github.com>
2020-06-04 16:22:19 -07:00
Jon Meow 0641a7f30b Fix the renamed build action (#55) 2020-06-04 15:39:59 -07:00