ci: update pixi to v0.73.0 and migrate pixi.lock to lockfile v7 (#51) #35
This file contains hidden or 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: 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.73.0 | |
| - 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 |