Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add workflow for link checking and spelling #58

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

bollwyvl
Copy link

@bollwyvl bollwyvl commented Jun 19, 2020

This adds a new workflow which performs:

  • spellchecking with hunspell against en-US and en-GB (the latter is more frequently updated)
    • this gets installed from conda-forge
    • findings
      • nothing too surprising: Jupyter, Xeus, etc. aren't in the dictionary... yet!
      • otherwise, awesome! good job team!
  • link checking with pytest-check-links
    • this gets installed with pip
    • it's not currently checking anchors, because we haven't released a version that supports the anchors that sphinx generates (my fault)
    • findings
      • a bunch of the declarativewidgets links are broken. they just get skipped for now

I've tried some caching (still learning actions), and the total delta seems not so long. I didn't touch the existing workflows, but they should probably share requirements files. It has been suggested that we might get reusable step definitions (a la azure pipelines) in the future.

- master
push:
branches:
- master
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adding this here, aside from doing one last check on master (which would get a little more visibility... I guess badges would be better!), also ensures all the caches are created in that "context"... PRs can be use it as a fallback with restore-keys.

Copy link
Contributor

@choldgraf choldgraf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple quick comments in there - thanks for taking a stab at building some infra for QC!


- name: Find broken links
run: |
bash .ci_support/check_links.sh
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another option is that we could use the link checker from Sphinx. Jupyter Book supports users calling it with jupyter-book build . --builder linkcheck. It's a little finnicky in my experience, but maybe that's true of all link checkers. Could simply the build process a bit?

- name: Find misspelled words
shell: bash -l {0}
run: |
bash .ci_support/check_spelling.sh
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the likelihood that this is going to be triggered on a regular basis just because people are using non-standard words in JEPs etc? I'm a bit concerned that this is going to feel like a nagging bot that keeps telling people to slightly change wording that they think is correct. Do you know what I mean?

- name: Upload book
uses: actions/upload-artifact@v2
with:
name: _build
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wow I didn't realize it was so easy to persist artifacts in GHA haha

@bollwyvl
Copy link
Author

bollwyvl commented Jun 19, 2020 via email

@choldgraf
Copy link
Contributor

yeah that makes sense - in that case I'm +1 on trying out this infrastructure and seeing how it feels in practice. Good point about the linkcheck cacheing and rate limits.

also just a note that when you reply to these via email, it's injecting a ton of extra stuff into your comments :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Check spelling, links of website HTML
2 participants