aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/spellcheck.yml
blob: 4793cf190492982aa61e397b19f8faed2d218618 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
#
# SPDX-License-Identifier: curl

name: spell
on:
  push:
    branches:
    - master
    paths:
    - '**.md'
    - '**.3'
    - '**.1'
    - '**/spellcheck.yml'
    - '**/spellcheck.yaml'
    - '**/wordlist.txt'
  pull_request:
    branches:
    - master
    paths:
    - '**.md'
    - '**.3'
    - '**.1'
    - '**/spellcheck.yml'
    - '**/spellcheck.yaml'
    - '**/wordlist.txt'

permissions: {}

jobs:
  check:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4

    - name: install pandoc
      run: sudo apt-get install pandoc

    - name: build curl.1
      run: |
         autoreconf -fi
         ./configure --without-ssl
         make -C docs

    - name: strip "uncheckable" sections from .3 pages
      run: find docs -name "*.3" -size +40c | sed 's/\.3//' | xargs -t -n1 -I OO  ./.github/scripts/cleanspell.pl OO.3 OO.33

    - name: convert .3 man pages to markdown
      run: find docs -name "*.33" -size +40c | sed 's/\.33//' | xargs -t -n1 -I OO pandoc -f man -t markdown OO.33 -o OO.md

    - name: convert .1 man pages to markdown
      run: find docs -name "*.1" -size +40c | sed 's/\.1//' | xargs -t -n1 -I OO pandoc OO.1 -o OO.md

    - name: trim the curl.1 markdown file
      run: |
        perl -pi -e 's/^    .*//' docs/curl.md
        perl -pi -e 's/\-\-[\a-z0-9-]*//ig' docs/curl.md
        perl -pi -e 's!https://[a-z0-9%/.-]*!!ig' docs/curl.md

    - name: setup the custom wordlist
      run: grep -v '^#' .github/scripts/spellcheck.words >  wordlist.txt

    - name: Check Spelling
      uses: rojopolis/spellcheck-github-actions@v0
      with:
        config_path: .github/scripts/spellcheck.yaml