Skip to content

showcase broken case without explicit type in oneof pattern matching #426

showcase broken case without explicit type in oneof pattern matching

showcase broken case without explicit type in oneof pattern matching #426

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
branches:
- '**'
permissions:
contents: read
jobs:
test-dependencies:
name: Check running without dependencies
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install uv with Python 3.12
uses: astral-sh/setup-uv@v5
with:
version: "0.7.5"
python-version: "3.12"
- name: Install betterproto2
working-directory: ./betterproto2
run: uv sync --locked
- name: Install betterproto2_compiler
working-directory: ./betterproto2_compiler
run: uv sync --locked
- name: Compile test files
working-directory: ./betterproto2_compiler
shell: bash
run: uv run poe generate
- name: Move compiled files to betterproto2
shell: bash
run: cp -r betterproto2_compiler/tests/outputs betterproto2/tests
- name: Execute test suite
working-directory: ./betterproto2
run: uv run poe test
- name: Add Pydantic
working-directory: ./betterproto2
run: uv sync --locked --extra=pydantic
- name: Execute test suite
working-directory: ./betterproto2
run: uv run poe test
- name: Add all but Pydantic
working-directory: ./betterproto2
run: uv sync --locked --extra=grpclib --extra=grpcio --extra=protobuf
- name: Execute test suite
working-directory: ./betterproto2
run: uv run poe test
- name: Add grpclib
working-directory: ./betterproto2
run: uv sync --locked --extra=grpclib
- name: Execute test suite
working-directory: ./betterproto2
run: uv run poe test
- name: Add all but grpclib
working-directory: ./betterproto2
run: uv sync --locked --extra=pydantic --extra=grpcio --extra=protobuf
- name: Execute test suite
working-directory: ./betterproto2
run: uv run poe test
- name: Add grpcio
working-directory: ./betterproto2
run: uv sync --locked --extra=grpcio
- name: Execute test suite
working-directory: ./betterproto2
run: uv run poe test
- name: Add all but grpcio
working-directory: ./betterproto2
run: uv sync --locked --extra=pydantic --extra=grpclib --extra=protobuf
- name: Execute test suite
working-directory: ./betterproto2
run: uv run poe test
- name: Add protobuf
working-directory: ./betterproto2
run: uv sync --locked --extra=protobuf
- name: Execute test suite
working-directory: ./betterproto2
run: uv run poe test
- name: Add all but protobuf
working-directory: ./betterproto2
run: uv sync --locked --extra=pydantic --extra=grpclib --extra=grpcio
- name: Execute test suite
working-directory: ./betterproto2
run: uv run poe test
tests:
name: ${{ matrix.os }} / ${{ matrix.python-version }}
runs-on: ${{ matrix.os }}-latest
strategy:
fail-fast: false
matrix:
os: [Ubuntu, MacOS, Windows]
python-version: ['3.10', '3.11', '3.12', '3.13']
steps:
- uses: actions/checkout@v4
- name: Install uv with Python ${{ matrix.python-version }}
uses: astral-sh/setup-uv@v5
with:
version: "0.7.5"
python-version: ${{ matrix.python-version }}
- name: Install betterproto2
working-directory: ./betterproto2
run: uv sync --locked --all-extras --all-groups
- name: Install betterproto2_compiler
working-directory: ./betterproto2_compiler
run: uv sync --locked --all-extras --all-groups
- name: Test betterproto2_compiler
working-directory: ./betterproto2_compiler
shell: bash
run: uv run poe test
- name: Compile test files
working-directory: ./betterproto2_compiler
shell: bash
run: uv run poe generate
- name: Move compiled files to betterproto2
shell: bash
run: cp -r betterproto2_compiler/tests/outputs betterproto2/tests
- name: Execute test suite
working-directory: ./betterproto2
shell: bash
run: uv run poe test