Skip to content

calendar: improve multi-days event display #79

calendar: improve multi-days event display

calendar: improve multi-days event display #79

Workflow file for this run

name: Tests
on:
pull_request:
workflow_dispatch:
permissions:
contents: write
pull-requests: write
jobs:
documentation:
runs-on: ubuntu-latest
strategy:
matrix:
variant:
- html
- singlehtml
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.13"
cache: pip
- name: Install requirements
run: python -m pip install -e '.[calendar,persian,weather,docs]'
- name: Check the documentation (${{ matrix.variant }})
run: sphinx-build --color -W -b${{ matrix.variant }} docs/source docs/output
quality:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.13"
cache: pip
- name: Install requirements
run: python -m pip install -e '.[lint]'
- name: Check
run: ./checks.sh
tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python:
- "3.7"
- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12"
- "3.13"
- "3.14-dev"
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
cache: pip
- name: Install requirements
run: |
python -m pip install -U pip
python -m pip install -e '.[calendar,persian,weather,tests]'
- name: Unit tests
run: python -m pytest
# That module being more used on Raspberry Pi, I've seen dependencies not available for ARM from time to time.
# So while the CI was green, the project would be unusable on those systems. This job ensures current
# requirements versions can be statisfied out-of-the-box.
deps-arm:
runs-on: ubuntu-latest
if: ${{ github.actor == 'dependabot[bot]' }}
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
- uses: pguyot/arm-runner-action@v2
with:
cpu: cortex-a7
commands: |
python3 -V
sudo apt install --yes libcairo2 libopenjp2-7 python3-pip python3-venv
python3 -m venv venv
. venv/bin/activate
python -m pip install -e '.[calendar,persian,weather]' --only-binary=:all: --no-binary=thermalprinter
python -c 'import thermalprinter as tp; print(tp.__version__)'
print-calendar -h
print-weather -h
automerge:
name: Automerge
runs-on: ubuntu-latest
needs: [documentation, quality, tests, deps-arm]
if: ${{ github.actor == 'dependabot[bot]' }}
steps:
- name: Automerge
run: gh pr merge --auto --rebase "$PR_URL"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}