⏩ Upgrading
- 🏷️ You can just change your workflow tags/references to this release, but some features require updates to the workflow (including sarif output and binary file detection); please consider applying the workflow from check-spelling/spell-check-this@prerelease. (The link will change shortly after this release is made.)
- You will want to copy over the
with:
elements you're using (into each place thatuses: check-spelling/check-spelling
).
- You will want to copy over the
🐣 Breaking Changes
🗜️ Smaller cspell dictionaries
Background
There are 3 related configuration items:
dictionary_source_prefixes
- In
v0.0.20
, this had:"cspell": "https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220427/dictionaries/"
- In
v0.0.21
, it has:"cspell": "https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220816/dictionaries/"
- In
extra_dictionaries
check_extra_dictionaries
- The list has changed between
v0.0.20
andv0.0.21
, a bunch have moved, some have split, and a bunch have been added.
- The list has changed between
Migrating
You can migrate in a couple of ways:
- Assuming you haven't set
dictionary_source_prefixes
, you can temporarily clearextra_dictionaries
andcheck_extra_dictionaries
and then use one run to get a new set of recommendedextra_dictionaries
and then setcheck_extra_dictionaries
(typically to''
). - If you want to keep your current cspell
extra_dictionaries
, changecspell
tocspell_old
(or anything that isn'tcspell
) and setdictionary_source_prefixes
to something like this:{"cspell": "https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220816/dictionaries/", "cspell_old": "https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20220427/dictionaries/"}
.
Note that the main
branch for check-spelling/cspell-dicts
will move (roughly at the time of the v0.0.21
release and again for future releases).
🧗 act
Some changes in how the action works require actions/download-artifact
and actions/upload-artifact
which aren't generally supported by act
. It might be possible to use --artifact-server-path
, but I don't know how to do it.
Mitigation
You can apply changes equivalent to the changes to .github/workflows/spelling.yml
to your workflow. This should enable the act workflows to conspire to share data between jobs. Alternatively, you could remove post_comment: 0
from your spelling
job. And that should result in a report.
The log will include a base64 encoded zip file along with instructions to decode it and a command that will let you feed the file to apply.pl
to apply its suggestions.
🏛️ Behavior change: File line column notation
Log output will now use a format like .github/workflows/spelling.yml:54:9 ... 21
to report problems. This should be friendlier to automated tools. Anyone who had written their own code to parse the old format will need to adjust their tooling. I don't expect this to be a big concern.
😢 Broken
Matrix
Apply
Apply handling for Matrix probably won't do the right thing. Instead, it will probably apply the results from the last job. This is fixed in prerelease
and will be included in the next release.
Workaround
Instead of using a matrix, you can manually expand the matrix content. If you're feeling adventurous, you can make a pre job and then have each dependent item reuse that prejob. If you're using a matrix because the repository is expensive, the pre job might enable you to cache the repository itself.
Alternatively, you can test using prerelease
.
SARIF 📰 As of 2023-09-08T02:08:41.1937091Z
check-spelling's detection of GitHub SARIF support no longer works. As such, you can't use SARIF with this version.
Workaround
A prerelease version should have working detection soon.
✨ New features
- 📰 Step Summary
- 🌟 Sarif output
- 🧙 Suggest patterns
- 🏗️ Update expect command-line this should add support for 🪟 Windows!
- 🔍 Check commit messages
- 🪖 Restricted Permissions
- 🧃 Minified file detection
⚠️ Check filenames and pathscheck-file-path
- 🧮 Detect binary files
- 🚫 Disable word collating
- 🔕 Scan noisy files
- 🚧 Workaround broken dependencies
🔧 Tuning
- 🗑️ Artifacts are retained for their default duration instead of 1 day (this helps with Update expect command-line)
💅 Minor polish
- 📤
set-output
is replaced - 🔑 Improvements to Update with deploy key
Note that there are nearly 100 commits in this release, the above is not a complete list of features.
Full Changelog: v0.0.20...v0.0.21