[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/python-gitlab/python-gitlab/v8.6.0/.github/workflows/test.yml [Back]  [Original]

name: Test

# If a pull-request is pushed then cancel all previously running jobs related
# to that pull-request
concurrency:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
  cancel-in-progress: true 

on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main
      - master

env:
  PY_COLORS: 1

jobs:
  unit:
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest]
        python:
          - version: "3.10"
            toxenv: py310,smoke
          - version: "3.11"
            toxenv: py311,smoke
          - version: "3.12"
            toxenv: py312,smoke
          - version: "3.13"
            toxenv: py313,smoke
          - version: "3.14"
            toxenv: py314,smoke
        include:
          - os: macos-latest
            python:
              version: "3.14"
              toxenv: py314,smoke
          - os: windows-latest
            python:
              version: "3.14"
              toxenv: py314,smoke
    steps:
      - uses: actions/checkout@v7.0.1
      - name: Set up Python ${{ matrix.python.version }}
        uses: actions/setup-python@v7.0.0
        with:
          python-version: ${{ matrix.python.version }}
      - name: Install dependencies
        run: pip install tox
      - name: Run tests
        env:
          TOXENV: ${{ matrix.python.toxenv }}
        run: tox --skip-missing-interpreters false

  functional:
    timeout-minutes: 30
    runs-on: ubuntu-24.04
    strategy:
      matrix:
        toxenv: [api_func_v4, cli_func_v4]
    steps:
      - uses: actions/checkout@v7.0.1
      - name: Set up Python
        uses: actions/setup-python@v7.0.0
        with:
          python-version: "3.14"
      - name: Install dependencies
        run: pip install tox
      - name: Run tests
        env:
          TOXENV: ${{ matrix.toxenv }}
        run: tox -- --override-ini='log_cli=True'
      - name: Upload codecov coverage
        uses: codecov/codecov-action@v7.1.0
        with:
          files: ./coverage.xml
          flags: ${{ matrix.toxenv }}
          fail_ci_if_error: false
          token: ${{ secrets.CODECOV_TOKEN }}

  coverage:
    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@v7.0.1
      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v7.0.0
        with:
          python-version: "3.14"
      - name: Install dependencies
        run: pip install tox
      - name: Run tests
        env:
          PY_COLORS: 1
          TOXENV: cover
        run: tox
      - name: Upload codecov coverage
        uses: codecov/codecov-action@v7.1.0
        with:
          files: ./coverage.xml
          flags: unit
          fail_ci_if_error: false
          token: ${{ secrets.CODECOV_TOKEN }}

  dist:
    runs-on: ubuntu-latest
    name: Python wheel
    steps:
    - uses: actions/checkout@v7.0.1
    - uses: actions/setup-python@v7.0.0
      with:
        python-version: "3.14"
    - name: Install dependencies
      run: |
        pip install -r requirements-test.txt
    - name: Build package
      run: python -m build -o dist/
    - uses: actions/upload-artifact@v7.0.1
      with:
        name: dist
        path: dist

  test:
    runs-on: ubuntu-latest
    needs: [dist]
    steps:
    - uses: actions/checkout@v7.0.1
    - name: Set up Python
      uses: actions/setup-python@v7.0.0
      with:
        python-version: '3.14'
    - uses: actions/download-artifact@v8.0.1
      with:
        name: dist
        path: dist
    - name: install dist/*.whl and requirements
      run: pip install dist/*.whl -r requirements-test.txt tox
    - name: Run tests
      run: tox -e install

Web Proxy Viewer  |  New URL  |  Original Page