Skip to content

feat(go): add Go packaging for protobuf, ANTLR and extensions #45

feat(go): add Go packaging for protobuf, ANTLR and extensions

feat(go): add Go packaging for protobuf, ANTLR and extensions #45

Workflow file for this run

name: CI (Python)
# Validates the Python packaging machinery against the most recent substrait
# spec release. Attaches the released spec subtree and runs the same generate +
# build + test steps as the Python publish workflows, but stops short of
# versioning, committing, tagging and publishing — so a change that would break
# a real release fails here first. Java and Rust are validated by ci_java.yml
# and ci_rust.yml.
on:
pull_request:
paths: &paths
- scripts/**
- pixi.toml
- pixi.lock
- python/**
- antlr/**
- testprotos.proto
- .github/workflows/ci_python.yml
push:
branches: [main]
paths: *paths
workflow_dispatch:
inputs:
substrait_version:
description: Substrait spec version to validate against (defaults to the latest release)
required: false
type: string
concurrency:
group: ci-python-${{ github.ref }}
cancel-in-progress: true
jobs:
python:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
with:
fetch-depth: 0
persist-credentials: false
- name: Resolve Substrait Version
env:
GH_TOKEN: ${{ github.token }}
OVERRIDE: ${{ inputs.substrait_version }}
run: |
if [ -n "$OVERRIDE" ]; then
VERSION="$OVERRIDE"
else
VERSION=$(./scripts/latest_release.sh)
fi
echo "Validating against substrait version: $VERSION"
echo "SUBSTRAIT_VERSION=$VERSION" >> "$GITHUB_ENV"
- name: Configure Git Identity
# attach_subtree.sh creates a squash commit, which needs an identity.
run: |
git config --global user.name 'substrait-packaging-ci'
git config --global user.email 'substrait-packaging-ci@users.noreply.github.com'
- name: Install pixi
uses: prefix-dev/setup-pixi@v0.10.0
with:
pixi-version: v0.62.2
- name: Attach substrait Spec Subtree
run: ./scripts/attach_subtree.sh
- name: Install substrait-antlr Dependencies
working-directory: python/substrait-antlr
run: pixi run uv sync --all-extras
- name: Generate substrait-antlr
run: pixi run python-generate-antlr
- name: Test substrait-antlr
working-directory: python/substrait-antlr
run: pixi run uv run pytest
- name: Install substrait-protobuf Dependencies
working-directory: python/substrait-protobuf
run: pixi run uv sync --all-extras
- name: Generate substrait-protobuf
run: pixi run python-generate-protobuf
- name: Test substrait-protobuf
working-directory: python/substrait-protobuf
run: pixi run uv run pytest
- name: Install substrait-extensions Dependencies
working-directory: python/substrait-extensions
run: pixi run uv sync --all-extras
- name: Generate substrait-extensions
run: pixi run python-generate-extensions
- name: Test substrait-extensions
working-directory: python/substrait-extensions
run: pixi run uv run pytest