Releases: lycheeverse/lychee-action
Version 1.4.1
Bugfix: update to latest lychee 0.9.0 Docker image tag
Due to a race condition in the pipeline, we pushed an older version of lychee (0.8.2) to the 0.9.0 tag.
The new release binaries didn't exist yet, causing the binary to use old ones.
This is fixed now and the image got pushed again. Update the image sha accordingly.
Version 1.4.0
Update to lychee 0.9.0. See highlights here.
Version 1.3.2
Create an output file even if lychee panics (see #82).
Version 1.3.1
Bugfix: Use >
as redirect operator for output files (#77). Thanks to @vipulgupta2048.
Version 1.3.0
Update lychee bin to 0.8.2, with directory support.
This will be the default in the next major version, but can already be tested with the following config:
- name: Link Checker
uses: lycheeverse/lychee-action@v1.3.0
with:
# Recursively check all supported files (html, markdown for now) in repo
args: --verbose --no-progress .
lychee supports plaintext files as well as many other formats, but as of now lychee .
is conservative and
will only check HTML and Markdown files. So it should be a safe replacement for the current default:
'./**/*.md' './**/*.html'
. It should also be faster and will use less file-handles than glob patterns.
Other highlights of lychee 0.8.2:
- Improve concurrency with streams (lycheeverse/lychee#330)
- Fix false-positives for special Github URLs (like /sponsors or /marketplace)
- Add support for
.lycheeignore
file lycheeverse/lychee#308 (lycheeverse/lychee#402)
Especially the .lycheeignore
part should be helpful for folks that used workarounds like custom ignore files before.
This is now a native feature of lychee. See lycheeverse/lychee#308 for more info.
Full lychee 0.8.2 changelog here.
Version 1.2.1
Fix evaluating glob patterns
Glob patterns were not properly evaluated for three reasons:
- Quotes around globs were not preserved. As a result, unquoted wildcards were evaluated by bash instead of lychee
**
patterns handled by the glob crate need to be prefixed with a separator, e.g../
. See code here and here. We should probably switch to globset at some point, which doesn't have that limitation.- The lychee command itself needs to be executed with
eval
to make it find links. Otherwise it interprets the input argument (${ARGS[@]}
) as a string and tries to find links within that string. (String input is supported by lychee). We want to interpret it as individual (whitespace-separated) arguments however. (Note that Github Actions doesn't support arrays as inputs, which prevents us from using array splitting.)
Recommended usage inside pipelines: Surround glob patterns with single quotes and prefix them with ./
.
- name: Link Checker
uses: lycheeverse/lychee-action@v1.1.1
with:
# Check all Markdown and HTML files
args: --verbose --no-progress './**/*.md' './**/*.html'
For more context, see #67 and #68.
The examples have been updated accordingly.
Version 1.2.0
New inputs
Input | Example | Description |
---|---|---|
format | json | Use json as output format (instead of markdown) |
output | /tmp/foo.json | Use different output filename |
fail | true | Fail action on broken links |
Full example config
- name: Link Checker
uses: lycheeverse/lychee-action@v1.2.0
with:
# Check all markdown and html files in repo (default)
args: --verbose --no-progress **/*.md **/*.html
# Use json as output format (instead of markdown)
format: json
# Use different output filename
output: /tmp/foo.txt
# Fail action on broken links
fail: true
v1.1.1: Update to lychee 0.8.1 (#59)
Update to lychee 0.8.1 with support for markdown output.
See https://github.com/lycheeverse/lychee/releases/tag/v0.8.1 for changelog.
Version 1.1.0
Update to lychee 0.8.0 with local file support and more.
See https://github.com/lycheeverse/lychee/releases/tag/v0.8.0 for changelog.
Version 1.0.9
- Pin lychee version to specific SHA. This avoids breaking changes when lychee@master gets updated. (See #19)