chore(flake/pre-commit-hooks): c8a54057
-> 3308484d
#4536
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: CI | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
concurrency: | |
group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{ github.workflow }} | |
cancel-in-progress: true | |
jobs: | |
commitlint: | |
if: ${{ github.event_name == 'pull_request' }} | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: cachix/install-nix-action@v30 | |
with: | |
nix_path: nixpkgs=./nix | |
extra_nix_config: | | |
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} | |
- uses: cachix/cachix-action@v15 | |
with: | |
name: ibis-substrait | |
extraPullNames: nix-community,poetry2nix,ibis | |
- name: commitlint | |
run: nix run -L 'nixpkgs#commitlint' -- --from=${{ github.event.pull_request.base.sha }} --to=${{ github.sha }} --verbose | |
pre-commit: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: cachix/install-nix-action@v30 | |
with: | |
nix_path: nixpkgs=./nix | |
extra_nix_config: | | |
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} | |
- uses: cachix/cachix-action@v15 | |
with: | |
name: ibis-substrait | |
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} | |
extraPullNames: nix-community,poetry2nix,ibis | |
- run: nix develop --ignore-environment -f shell.nix -c pre-commit run --all-files | |
nix: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-latest | |
python-version: | |
- "39" | |
- "310" | |
- "311" | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: cachix/install-nix-action@v30 | |
with: | |
nix_path: nixpkgs=./nix | |
extra_nix_config: | | |
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} | |
- uses: cachix/cachix-action@v15 | |
with: | |
name: ibis-substrait | |
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} | |
extraPullNames: nix-community,poetry2nix,ibis | |
- name: build package and run tests | |
run: | | |
version='${{ matrix.python-version }}' | |
nix build ".#ibisSubstrait${version//./}" --fallback --keep-going --print-build-logs | |
poetry_ibis: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-latest | |
python-version: | |
- "3.9" | |
- "3.11" | |
ibis-version: | |
- "9.0" | |
include: | |
- os: windows-latest | |
python-version: "3.11" | |
ibis-version: "9.0" | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: install poetry | |
run: pip3 install 'poetry<1.4' | |
- name: poetry sync | |
run: poetry install --sync | |
- name: install Ibis version | |
run: poetry run pip install 'ibis-framework==${{ matrix.ibis-version }}' | |
- name: show installed deps | |
run: poetry run pip list | |
- name: run pytest | |
run: poetry run pytest | |
dry-run-release: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: cachix/install-nix-action@v30 | |
with: | |
nix_path: nixpkgs=./nix | |
extra_nix_config: | | |
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }} | |
- uses: cachix/cachix-action@v15 | |
with: | |
name: ibis-substrait | |
extraPullNames: nix-community,poetry2nix,ibis | |
- name: Configure git info | |
run: | | |
set -euo pipefail | |
# not incredibly important what user we use here | |
# | |
# we're making a commit in a temporary worktree that is thrown away | |
# if the process exits successfully | |
# | |
# git requires user information to make commits | |
git config user.name 'ibis-squawk-bot[bot]' | |
git config user.email 'ibis-squawk-bot[bot]@users.noreply.github.com' | |
- name: dry run semantic-release | |
run: ./ci/release/dry_run.sh | |
check-poetry-lock: | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: "3.x" | |
- name: install poetry | |
run: pip3 install 'poetry<1.4' | |
- name: verify lockfile | |
run: poetry lock --check |