Skip to content

Add integration test for custom output paths (#215) #66

Add integration test for custom output paths (#215)

Add integration test for custom output paths (#215) #66

Workflow file for this run

on:
- repository_dispatch
- workflow_dispatch
- push
- pull_request
env:
CUSTOM_OUTPUT_PATH: lychee/custom_output.md
jobs:
lychee-action:
runs-on: ubuntu-latest
continue-on-error: true
name: Test the lychee link checker action
steps:
- name: Checkout
uses: actions/checkout@v4
- name: test defaults
uses: ./
with:
fail: true
- name: test explicit lychee version
uses: ./
with:
lycheeVersion: 0.9.0
- name: test globs
uses: ./
with:
args: >-
--exclude-mail
--verbose
--no-progress
'./**/*.md'
'./**/*.html'
'./**/*.rst'
fail: true
- name: test --base argument
uses: ./
with:
args: >-
--base .
--verbose
--no-progress
'./**/*.md'
'./**/*.html'
'./**/*.rst'
fail: true
- name: test custom output path - creation
uses: ./
with:
output: "${{ env.CUSTOM_OUTPUT_PATH }}"
debug: true
- name: test custom output path - validation
run: |
echo "Checking custom output file at ${{ env.CUSTOM_OUTPUT_PATH }}"
if [ ! -f "${{ env.CUSTOM_OUTPUT_PATH }}" ]; then
echo "Not found"
exit 1
else
echo "Found. Contents:"
cat "${{ env.CUSTOM_OUTPUT_PATH }}"
fi
- name: Install jq
run: sudo apt-get install jq
- name: test workflow inputs - Markdown
uses: ./
with:
args: -v fixtures/TEST.md
format: json
output: ${{ github.workspace }}/foo_md.json
fail: true
- name: Validate JSON - Markdown
run: |
if ! jq empty ${{ github.workspace }}/foo_md.json; then
echo "Output file does not exist or is not valid JSON"
exit 1
fi
- name: test workflow inputs - rST
uses: ./
with:
args: -v fixtures/TEST.rst
format: json
output: ${{ github.workspace }}/foo_rst.json
fail: true
- name: Validate JSON - rST
run: |
if ! jq empty ${{ github.workspace }}/foo_rst.json; then
echo "Output file does not exist or is not valid JSON"
exit 1
fi
- name: directory
uses: ./
with:
args: --exclude-mail .
fail: true
- name: test format override
uses: ./
with:
args: --format markdown -v fixtures/TEST.md
format: doesnotexist # gets ignored if format set in args
output: ${{ github.workspace }}/foo.txt
fail: true
- name: test debug
uses: ./
with:
debug: true
- name: test custom GitHub token
uses: ./
with:
token: ${{ secrets.CUSTOM_TOKEN }}