Replace io.open using pathlib #700
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
name: Nikola CI | |
on: | |
# Run on all pushes to master (including merge of PR) | |
push: | |
branches: master | |
# Run on all changes in pull requests | |
pull_request: | |
# Run every Saturday at 17:10 UTC to ensure stability (dependency changes not breaking things) | |
schedule: | |
- cron: '10 17 * * 6' | |
jobs: | |
nikola: | |
name: Nikola tests (Python ${{ matrix.python }} on ${{ matrix.image }}) | |
strategy: | |
fail-fast: false | |
matrix: | |
python: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] | |
image: | |
- ubuntu-latest | |
include: | |
- python: '3.13' | |
image: macos-latest | |
- python: '3.13' | |
image: windows-latest | |
runs-on: '${{ matrix.image }}' | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '${{ matrix.python }}' | |
- name: Install Nikola | |
run: | | |
python -m pip install --upgrade-strategy eager -U .[extras,tests] | |
- name: Run tests | |
run: | | |
py.test tests/ | |
- name: Run nikola | |
run: | | |
nikola | |
- name: Run nikola help | |
run: | | |
nikola help | |
baseline: | |
name: Baseline testing (Python ${{ matrix.python }} on ${{ matrix.image }}) | |
strategy: | |
fail-fast: false | |
matrix: | |
python: ['3.13'] | |
image: | |
- ubuntu-latest | |
runs-on: '${{ matrix.image }}' | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '${{ matrix.python }}' | |
- name: Install extra requirements | |
run: | | |
python -m pip install --upgrade-strategy eager freezegun | |
- name: Install Nikola | |
run: | | |
python -m pip install --upgrade-strategy eager -U .[extras] | |
- name: Compare to baseline | |
run: | | |
scripts/baseline.sh check | |
flake8: | |
name: Linting (flake8, pydocstyle) | |
strategy: | |
matrix: | |
python: | |
- '3.13' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '${{ matrix.python }}' | |
- name: Install requirements | |
run: | | |
python -m pip install --upgrade-strategy eager -U flake8 pydocstyle | |
- name: Run flake8 | |
run: | | |
flake8 nikola/ tests/ | |
- name: Run pydocstyle | |
run: | | |
pydocstyle --count --match-dir='(?!^\\.)(?!data).*' nikola/ | |
basereq: | |
name: Build demo site with base requirements | |
strategy: | |
matrix: | |
python: | |
- '3.11' | |
- '3.12' | |
- '3.13' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '${{ matrix.python }}' | |
- name: Install Nikola | |
run: | | |
python -m pip install --upgrade-strategy eager -U . | |
- name: Run help | |
run: | | |
nikola help | |
working-directory: / | |
- name: Run init | |
run: | | |
nikola init -qd nsite | |
working-directory: /tmp/ | |
- name: Run build | |
run: | | |
nikola build | |
working-directory: /tmp/nsite |