# Checks the spelling on all non-third-party files.

name: Codespell

on:
  workflow_dispatch:
  push:
    branches-ignore:
      - 'dependabot/**'
    paths-ignore:
      - 'm4/**'
      - COPYING
  pull_request:
    paths-ignore:
      - 'm4/**'
      - COPYING

permissions:  # added using https://github.com/step-security/secure-workflows
  contents: read

jobs:
  codespell:
    runs-on: ubuntu-24.04
    timeout-minutes: 5
    steps:
    - name: Harden Runner
      uses: step-security/harden-runner@e3f713f2d8f53843e71c69a996d56f51aa9adfb9
      with:
        egress-policy: block
        allowed-endpoints: >
          archive.ubuntu.com:80
          azure.archive.ubuntu.com:80
          github.com:443
          packages.microsoft.com:443
          ppa.launchpadcontent.net:443
          security.ubuntu.com:80
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
    - name: update package information
      run: sudo apt-get update -qy
    - name: install dependencies
      run: sudo apt-get install -qy codespell
    - name: print env
      run: ./ci/printenv.sh
    - name: configure
      run: ./configure || (cat config.log; exit 1)
    - run: codespell --version
    - name: codespell
      run: make codespell
