Install glibc locales for ci tests #151
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
| name: ci | |
| on: [push, pull_request] | |
| jobs: | |
| tests: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies | |
| run: | | |
| sudo apt-get install -y locales-all | |
| python -m pip install --upgrade pip | |
| python -m pip install flake8 | |
| python -m pip install . | |
| - name: Run tests | |
| run: python3 -m unittest | |
| type-checker: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Set up Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: "3.13" | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install .[typing] | |
| - name: Ignore a strange type error that only happens in CI | |
| # This error only happens in CI and I can not reproduce it in the nix | |
| # check or locally: | |
| # khard/khard.py:658: error: Argument "policy" to "message_from_string" has incompatible type "EmailPolicy[EmailMessage]"; expected "Policy[Message[str, str]]" [arg-type] | |
| run: "sed -i '/message = message_from_string/s/$/#type: ignore[arg-type]/' khard/khard.py" | |
| - name: Run the type checker | |
| run: mypy | |
| docs: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Set up Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: "3.13" | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install .[doc] | |
| - name: Build the documentation | |
| run: make -C doc html man | |
| nix: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Install Nix | |
| uses: cachix/install-nix-action@v20 | |
| - uses: actions/checkout@v3 | |
| - name: Build the nix derivation (also runs the tests) | |
| run: nix build --print-build-logs |