Skip to content

Sync "Spell Check" CI workflow with template #226

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

Merged
merged 12 commits into from
Aug 5, 2021
Merged

Sync "Spell Check" CI workflow with template #226

merged 12 commits into from
Aug 5, 2021

Conversation

per1234
Copy link
Contributor

@per1234 per1234 commented Aug 4, 2021

We have assembled a collection of reusable GitHub Actions workflows:
https://github.com/arduino/tooling-project-assets
These workflows will be used in the repositories of all Arduino tooling projects.

Some minor improvements and standardizations have been made in the upstream "template" workflow, and those are introduced to this repository via this pull request.


NOTE: the link check failure is caused by a screwup I made in the documentation update PR. I will submit a separate fix for that since it is not related to the purpose of this PR.

@per1234 per1234 added type: enhancement Proposed improvement topic: infrastructure Related to project infrastructure labels Aug 4, 2021
@per1234 per1234 requested review from silvanocerza and umbynos August 4, 2021 11:00
per1234 added 12 commits August 5, 2021 01:35
This is the template workflow filename, which is intended to serve as a unique identifier, and thus must be a bit more
verbose.
Support for a configuration file was added in the 2.0.0 release of the codespell tool used for spell check in this
repository. Use of this file allows consolidating all the configuration options in a single place, rather than having
some in `etc/codespell-ignore-words-list.txt` and the others in the taskfile.
These are the naming conventions established in the standardized template project assets.
A dedicated task has been added for installing the project's Python depencies, and this should be used throughout the
taskfile in place of redundant direct commands.
At the time it was written, there was some lack of support for the use of day name abreviations in the crontab definition
for the `schedule` trigger of GitHub Actions workflows (perhaps it was the JSON schema?). Since that time, the issue was
resolved. The crontab is easier to understand with the day name in place of day number.
No functional change, and neither is necessarily superior, but this is how it is in the "template", and so it must be
here as well.
The `workflow_dispatch` event allows triggering the workflow via the GitHub web interface. This makes it easy to trigger
an immediate workflow run after some relevant external change.

The `repository_dispatch` event allows triggering workflows via the GitHub API. This might be useful for triggering an
immediate check in multiple relevant repositories after an external change, or some automated process. Although we don't
have any specific need for this event at the moment, the event has no impact on the workflow, so there is no reason
against having it. It is the sort of thing that can end up being useful if it is already in consistently in place, but
not worth setting up on demand, since the effort to set it up is greater than the effort to trigger all the workflows
manually.
These are the naming conventions established in the standardized template workflow.
This will make it easier for the maintainers to sync fixes and improvements in either direction between the upstream
"template" assets and their installation in this repository.
The badges provide a prominent indication of the repository's CI status at a glance. This may help to bring potential
issues to the attention of the maintainers.
The repository has a spell check as part of its infrastructure to catch typos before they can be introduced to the
content. This check should not be done on generated files like `go.mod` and `go.sum`. The codespell spell check tool was
already configured to skip those files in the root of the repository, but there is another module in `./docsgen`, and its
module configuration files must also be excluded from the check.
@per1234 per1234 merged commit 498aa85 into arduino:main Aug 5, 2021
@per1234 per1234 deleted the spell-check branch August 5, 2021 09:02
@per1234 per1234 self-assigned this Nov 20, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: infrastructure Related to project infrastructure type: enhancement Proposed improvement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants