Thanks to visit codestin.com
Credit goes to github.com

Skip to content

ci: bump actions/checkout from 5 to 6 #255

ci: bump actions/checkout from 5 to 6

ci: bump actions/checkout from 5 to 6 #255

Workflow file for this run

# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
# Derived from stock python-package.yml
name: CI
on: [push, pull_request]
jobs:
linter:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.x"]
steps:
- uses: actions/checkout@v6
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt -r test-requirements.txt setuptools
- name: Lint
run: |
pylint --output-format colorized --rcfile .pylintrc \
bugzilla-cli setup.py bugzilla examples tests
test_3_6:
# python 3.6 is for rhel/centos8/sles15 compat
runs-on: ubuntu-latest
container:
image: python:3.6
steps:
- uses: actions/checkout@v6
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest
pip install -r requirements.txt -r test-requirements.txt
- name: Test with pytest
run: |
pytest
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v6
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install flake8 pytest pytest-cov
pip install -r requirements.txt -r test-requirements.txt
- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest and generate coverage report
run: |
pytest --cov --cov-report=xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
# Run functional tests
integration:
runs-on: ubuntu-latest
services:
mariadb:
image: mariadb:latest
env:
MARIADB_USER: bugs
MARIADB_DATABASE: bugs
MARIADB_PASSWORD: secret
MARIADB_ROOT_PASSWORD: supersecret
ports:
- 3306:3306
bugzilla:
image: ghcr.io/crazyscientist/bugzilla:test
ports:
- 80:80
strategy:
matrix:
python-version: ["3.x"]
steps:
- uses: actions/checkout@v6
- name: Install MariaDB utils
run: sudo apt install --no-install-recommends -q -y mariadb-client
- name: Restore DB dump
run: mariadb -h 127.0.0.1 -P 3306 --password=secret -u bugs bugs < tests/services/bugs.sql
- name: Store API key
run: |
mkdir -p ~/.config/python-bugzilla/
cp tests/services/bugzillarc ~/.config/python-bugzilla/
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest pytest-cov
pip install -r requirements.txt -r test-requirements.txt
- name: Test with pytest
run: pytest --ro-integration --rw-integration
env:
BUGZILLA_URL: http://localhost
# Build and install on Windows
windows:
runs-on: windows-latest
strategy:
matrix:
python-version: ["3.x"]
steps:
- uses: actions/checkout@v6
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Build tarball & install
run: |
python setup.py sdist
pip install --find-links dist python-bugzilla