1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158
|
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:
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/*
test:
name: test
needs:
- build
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macOS-12
- windows-latest
python-version:
- 3.8
- 3.9
- '3.10'
- '3.11'
- '3.12'
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
|