Skip to content

Test pyspnego

Test pyspnego #826

Workflow file for this run

name: Test pyspnego
on:
push:
branches:
- main
paths-ignore:
- CHANGELOG.md
- LICENSE
- README.md
pull_request:
branches:
- main
paths-ignore:
- CHANGELOG.md
- LICENSE
- README.md
release:
types:
- published
schedule:
- cron: 0 9 * * *
jobs:
build_sdist:
name: build sdist and universal wheel
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: build sdist and universal wheel
run: |
python -m pip install build
python -m build
- uses: actions/upload-artifact@v3
with:
name: artifact
path: ./dist/*
build_wheels:
name: build wheels
needs:
- build_sdist
runs-on: windows-2022
strategy:
fail-fast: false
matrix:
include:
- version: cp37-win_amd64
- version: cp37-win32
- version: cp38-win_amd64
- version: cp38-win32
- version: cp39-win_amd64
- version: cp39-win32
- version: cp310-win_amd64
- version: cp310-win32
- version: cp311-win_amd64
- version: cp311-win32
steps:
- uses: actions/download-artifact@v3
with:
name: artifact
path: ./
- name: extract sdist
shell: bash
run: |
tar xf pyspnego-*.tar.gz
mv pyspnego-*/* .
rm -r pyspnego-*/
rm pyspnego-*.tar.gz
- name: build wheel
uses: pypa/cibuildwheel@v2.11.1
env:
CIBW_ARCHS: all
CIBW_BUILD: ${{ matrix.version }}
CIBW_BUILD_VERBOSITY: 1
CIBW_PRERELEASE_PYTHONS: ${{ matrix.prerelease || 'false' }}
- uses: actions/upload-artifact@v3
with:
path: ./wheelhouse/*.whl
name: artifact
test:
name: test
needs:
- build_sdist
- build_wheels
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macOS-12
- windows-latest
python-version:
- 3.7
- 3.8
- 3.9
- '3.10'
- '3.11'
python-arch:
- x86
- x64
gssapi-provider:
- mit
- heimdal
- sspi
exclude:
- os: ubuntu-latest
python-arch: x86
- os: ubuntu-latest
gssapi-provider: sspi
- os: macOS-12
python-arch: x86
- os: macOS-12
gssapi-provider: mit
- os: macOS-12
gssapi-provider: sspi
- os: windows-latest
gssapi-provider: mit
- os: windows-latest
gssapi-provider: heimdal
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
architecture: ${{ matrix.python-arch }}
- uses: actions/download-artifact@v3
with:
name: artifact
path: ./dist
- name: Extract OS name
shell: bash
run: |
echo NAME=$( echo '${{ matrix.os }}' | tr '-' ' ' | awk '{print $1}' )
echo "name=${NAME}" >> $GITHUB_OUTPUT
id: os
- name: Test
shell: bash
run: |
if [ "$(expr substr $(uname -s) 1 5)" == "MINGW" ]; then
build_helpers/run-ci.sh
else
sudo -E build_helpers/run-ci.sh
fi
env:
GSSAPI_PROVIDER: ${{ matrix.gssapi-provider }}
PYTEST_ADDOPTS: --color=yes
- name: Upload Test Results
if: always()
uses: actions/upload-artifact@v3
with:
name: Unit Test Results (${{ matrix.os }} ${{ matrix.python-version }} ${{ matrix.python-arch }})
path: ./junit/test-results.xml
- name: Upload Coverage Results
if: always()
uses: actions/upload-artifact@v3
with:
name: Coverage Results (${{ matrix.os }} ${{ matrix.python-version }} ${{ matrix.python-arch }})
path: ./coverage.xml
- name: Upload Coverage to codecov
if: always()
uses: codecov/codecov-action@v3
with:
files: ./coverage.xml
flags: ${{ steps.os.outputs.name }},py${{ matrix.python-version }},${{ matrix.python-arch }}
publish:
name: publish
needs:
- test
runs-on: ubuntu-latest
permissions:
# IMPORTANT: this permission is mandatory for trusted publishing
id-token: write
steps:
- uses: actions/download-artifact@v3
with:
name: artifact
path: ./dist
- name: Publish package to PyPI
if: startsWith(github.ref, 'refs/tags/v')
uses: pypa/gh-action-pypi-publish@release/v1