feat: add support for proto.__version__ #410
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Tests | |
# Controls when the action will run. | |
on: | |
pull_request: | |
push: | |
branches: [ $default-branch ] | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
concurrency: | |
group: tests-${{ github.head_ref }} | |
cancel-in-progress: true | |
jobs: | |
style-check: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.8 | |
- name: Install black | |
run: pip install black==22.3.0 | |
- name: Check diff | |
run: black --diff --check . | |
docs: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.9" | |
- name: Install nox. | |
run: python -m pip install nox | |
- name: Build the documentation. | |
run: nox -s docs | |
unit: | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
python: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11', '3.12'] | |
variant: ['', 'cpp', 'upb'] | |
exclude: | |
- variant: "cpp" | |
python: 3.11 | |
- variant: "cpp" | |
python: 3.12 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python }} | |
- name: Install nox | |
run: | | |
pip install nox | |
# Trim the Python version string | |
- name: Trim python version | |
run: | | |
PYTHON_VERSION_TRIMMED=${{ matrix.python }} | |
PYTHON_VERSION_TRIMMED=$(echo $PYTHON_VERSION_TRIMMED | cut -c1-4) | |
echo "PYTHON_VERSION_TRIMMED=$PYTHON_VERSION_TRIMMED" >> $GITHUB_ENV | |
- name: Run unit tests | |
env: | |
COVERAGE_FILE: .coverage-${{ matrix.variant }}-${{ env.PYTHON_VERSION_TRIMMED }} | |
run: | | |
nox -s unit${{ matrix.variant }}-${{ env.PYTHON_VERSION_TRIMMED }} | |
- name: Upload coverage results | |
uses: actions/upload-artifact@v3 | |
with: | |
name: coverage-artifacts | |
path: .coverage-${{ matrix.variant }}-${{ env.PYTHON_VERSION_TRIMMED }} | |
cover: | |
runs-on: ubuntu-latest | |
needs: | |
- unit | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- name: Install coverage | |
run: | | |
python -m pip install --upgrade setuptools pip wheel | |
python -m pip install coverage | |
- name: Download coverage results | |
uses: actions/download-artifact@v3 | |
with: | |
name: coverage-artifacts | |
path: .coverage-results/ | |
- name: Report coverage results | |
run: | | |
coverage combine .coverage-results/.coverage* | |
coverage report --show-missing --fail-under=100 |