File: documentation.yml

package info (click to toggle)
rust-coreutils 0.6.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 485,976 kB
  • sloc: ansic: 103,608; asm: 28,570; sh: 8,672; python: 5,662; makefile: 474; cpp: 97; javascript: 72
file content (136 lines) | stat: -rw-r--r-- 4,530 bytes parent folder | download
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
# spell-checker:ignore dtolnay libsystemd libattr libcap gsub

name: Check uudoc Documentation Generation

on:
  pull_request:
    paths:
      - 'src/bin/uudoc.rs'
      - 'src/uu/*/locales/en-US.ftl'
      - 'Cargo.toml'
      - '.github/workflows/documentation.yml'
  push:
    branches:
      - main
    paths:
      - 'src/bin/uudoc.rs'
      - 'src/uu/*/locales/en-US.ftl'
      - 'Cargo.toml'

jobs:
  check-doc:
    name: Verify uudoc generates correct documentation
    runs-on: ubuntu-latest

    steps:
      - name: Checkout repository
        uses: actions/checkout@v6

      - name: Install/setup prerequisites
        shell: bash
        run: sudo apt-get -y update ; sudo apt-get -y install libselinux1-dev libsystemd-dev libacl1-dev libattr1-dev libcap-dev

      - name: Install Rust toolchain
        uses: dtolnay/rust-toolchain@stable

      - name: Download tldr
        run: curl -L https://github.com/tldr-pages/tldr/releases/latest/download/tldr.zip -o docs/tldr.zip

      - name: Generate documentation
        run: cargo run --bin uudoc --all-features

      - name: Get current version from Cargo.toml
        id: version
        run: |
          VERSION=$(awk '/\[workspace\.package\]/{flag=1; next} flag && /version = /{gsub(/.*= "/, ""); gsub(/".*/, ""); print; exit}' Cargo.toml)
          echo "version=$VERSION" >> $GITHUB_OUTPUT
          echo "Detected version: $VERSION"

      - name: Check for --repeated option in uniq.md
        run: |
          if [ ! -f "docs/src/utils/uniq.md" ]; then
            echo "docs/src/utils/uniq.md does not exist"
            exit 1
          fi

          if ! grep -q -- "--repeated" docs/src/utils/uniq.md; then
            echo "'--repeated' option not found in docs/src/utils/uniq.md"
            echo "Content of uniq.md:"
            head -50 docs/src/utils/uniq.md
            exit 1
          fi

      - name: Check for correct version in ls.md
        run: |
          VERSION="${{ steps.version.outputs.version }}"

          if [ ! -f "docs/src/utils/ls.md" ]; then
            echo "docs/src/utils/ls.md does not exist"
            exit 1
          fi

          if ! grep -q "v(uutils coreutils) $VERSION" docs/src/utils/ls.md; then
            echo "Version '$VERSION' not found in docs/src/utils/ls.md"
            echo "Found version info:"
            grep "v(uutils coreutils)" docs/src/utils/ls.md || echo "No version info found"
            echo "Full version section:"
            grep -A2 -B2 "version" docs/src/utils/ls.md || echo "No version section found"
            exit 1
          fi

      - name: Verify usage information is present
        run: |
          if [ ! -f "docs/src/utils/cat.md" ]; then
            echo "docs/src/utils/cat.md does not exist"
            exit 1
          fi

          if ! grep -q "cat \[OPTION\].*\[FILE\]" docs/src/utils/cat.md; then
            echo "Usage information missing from cat.md"
            echo "Content around usage:"
            grep -A5 -B5 "cat" docs/src/utils/cat.md | head -20
            exit 1
          fi

      - name: Verify help text is properly resolved
        run: |
          if [ ! -f "docs/src/utils/cat.md" ]; then
            echo "docs/src/utils/cat.md does not exist"
            exit 1
          fi

          if grep -q "cat-help-" docs/src/utils/cat.md; then
            echo "Found unresolved Fluent keys in cat.md - help text not properly translated"
            echo "Unresolved Fluent keys found:"
            grep "cat-help-" docs/src/utils/cat.md
            exit 1
          fi

      - name: Verify about text is present
        run: |
          if [ ! -f "docs/src/utils/cat.md" ]; then
            echo "docs/src/utils/cat.md does not exist"
            exit 1
          fi

          if ! grep -q "Concatenate FILE(s)" docs/src/utils/cat.md; then
            echo "About text missing from cat.md"
            echo "Content of cat.md:"
            head -30 docs/src/utils/cat.md
            exit 1
          fi

      - name: Verify tldr examples integration
        run: |
          if [ ! -f "docs/src/utils/cp.md" ]; then
            echo "docs/src/utils/cp.md does not exist"
            exit 1
          fi

          if ! grep -q "The examples are provided by" docs/src/utils/cp.md; then
            echo "tldr examples integration missing from cp.md"
            echo "Expected to find 'The examples are provided by' text"
            echo "Content of cp.md:"
            tail -20 docs/src/utils/cp.md
            exit 1
          fi