Host runner lacks git and node. Fetch repo archive via wget in alpine container, then run lint/link-check against extracted files. Single-line commands to avoid multiline escaping issues.
27 lines
949 B
YAML
27 lines
949 B
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [master]
|
|
pull_request:
|
|
branches: [master]
|
|
|
|
jobs:
|
|
lint:
|
|
runs-on: linux
|
|
steps:
|
|
- name: Checkout
|
|
run: podman run --rm -v "$PWD:/out:Z" docker.io/library/alpine:3 sh -c "wget -qO- '${{ github.server_url }}/${{ github.repository }}/archive/${{ github.ref_name }}.tar.gz' | tar xz -C /out --strip-components=1"
|
|
|
|
- name: Markdown lint
|
|
run: podman run --rm -v "$PWD:/work:Z" docker.io/davidanson/markdownlint-cli2:v0.17.2 "**/*.md"
|
|
|
|
link-check:
|
|
runs-on: linux
|
|
steps:
|
|
- name: Checkout
|
|
run: podman run --rm -v "$PWD:/out:Z" docker.io/library/alpine:3 sh -c "wget -qO- '${{ github.server_url }}/${{ github.repository }}/archive/${{ github.ref_name }}.tar.gz' | tar xz -C /out --strip-components=1"
|
|
|
|
- name: Check internal links
|
|
run: podman run --rm -v "$PWD:/work:Z" -w /work docker.io/library/python:3.12-slim python3 scripts/check-links.py
|