install: add FreeBSD's -U (unprivileged) option #606
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # 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 https://tldr.sh/assets/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 |