Skip to content

CI

CI #1983

Workflow file for this run

name: CI
on:
push:
branches: [main]
tags: ["v*"]
pull_request:
branches: [main]
schedule:
- cron: "15 22 * * *"
workflow_dispatch: {} # support manual runs
permissions:
contents: read
jobs:
ci:
name: CI
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
resolution: ["highest", "lowest-direct"]
env:
# Shared env variables for all the tests
UV_RESOLUTION: "${{ matrix.resolution }}"
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version: stable
# We use this to install `buf`, and the `buf` version is controlled by the Makefile.
cache-dependency-path: Makefile
- uses: astral-sh/setup-uv@v7
with:
python-version: ${{ matrix.python-version }}
- run: make install
- run: make lint
- run: make format
# When running with matrix.resolution == highest, we expect uv.lock to change, but we don't want that file checked in.
- if: matrix.resolution == 'lowest-direct'
run: make checkgenerate
env:
BUF_TOKEN: ${{ secrets.BUF_TOKEN }}
- run: make test
- run: make conformance