diff options
| author | 2021-04-22 20:22:47 -0400 | |
|---|---|---|
| committer | 2021-04-22 20:22:47 -0400 | |
| commit | 8eeed31eb2f86ac982fa4b26f93b15828289c56d (patch) | |
| tree | 2d95f6a10afaeb9f5e25dabde5fe38de3f8458d1 /.github/workflows | |
| parent | 3a0d66f07b112b6d2bdc2b57bbf717a89a351ce6 (diff) | |
New upstream version 8.1.3.upstream/8.1.3
Diffstat (limited to '.github/workflows')
| -rw-r--r-- | .github/workflows/ci.yml | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..81efafa --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,140 @@ +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: + +jobs: + nikola: + name: Nikola tests (Python ${{ matrix.python }} on ${{ matrix.image }}) + strategy: + fail-fast: false + matrix: + python: [3.5, 3.6, 3.7, 3.8, 3.9] + image: + - ubuntu-latest + include: + - python: 3.9 + image: macos-latest + - python: 3.9 + image: windows-latest + runs-on: '${{ matrix.image }}' + steps: + - name: Check out code + uses: actions/checkout@v2 + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '${{ matrix.python }}' + - name: Upgrade packaging stack + run: | + python -m pip install --upgrade-strategy eager -U pip setuptools wheel + - name: Install test requirements + run: | + python -m pip install --upgrade-strategy eager -Ur requirements-tests.txt + - name: Install Nikola + run: | + python -m pip install . + - 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.9] + image: + - ubuntu-latest + runs-on: '${{ matrix.image }}' + steps: + - name: Check out code + uses: actions/checkout@v2 + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '${{ matrix.python }}' + - name: Upgrade packaging stack + run: | + python -m pip install --upgrade-strategy eager -U pip setuptools wheel + - name: Install extra requirements + run: | + python -m pip install --upgrade-strategy eager -Ur requirements-extras.txt freezegun + - name: Install Nikola + run: | + python -m pip install . + - name: Compare to baseline + run: | + scripts/baseline.sh check + + flake8: + name: Linting (flake8, pydocstyle) + strategy: + matrix: + python: + - 3.9 + runs-on: ubuntu-latest + steps: + - name: Check out code + uses: actions/checkout@v2 + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '${{ matrix.python }}' + - name: Upgrade packaging stack + run: | + python -m pip install --upgrade-strategy eager -U pip setuptools wheel + - name: Install requirements + run: | + python -m pip install 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.9 + runs-on: ubuntu-latest + steps: + - name: Check out code + uses: actions/checkout@v2 + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '${{ matrix.python }}' + - name: Upgrade packaging stack + run: | + python -m pip install --upgrade-strategy eager -U pip setuptools wheel + - name: Install requirements + run: | + python -m pip install --upgrade-strategy eager -Ur requirements.txt + - name: Install Nikola + run: | + python -m pip install . + - 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 |
