Skip to content

Merge pull request #1091 from SFDO-Tooling/support-py313-float-deps #2931

Merge pull request #1091 from SFDO-Tooling/support-py313-float-deps

Merge pull request #1091 from SFDO-Tooling/support-py313-float-deps #2931

Workflow file for this run

name: CI
on: [push, workflow_dispatch]
env:
SF_MKDOCS_BUILD_LOCALES: "False"
jobs:
test:
name: "Unit tests: ${{ matrix.os }}-${{ matrix.python-version }}"
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, SFDO-Tooling-Ubuntu, SFDO-Tooling-Windows]
python-version: ["3.11", "3.12", "3.13"]
steps:
- uses: "actions/checkout@v4"
- uses: "actions/setup-python@v5"
with:
python-version: "${{ matrix.python-version }}"
- name: Install a specific version of uv
uses: SFDO-Tooling/setup-uv@main
with:
version: "0.5.0"
enable-cache: true
- name: "Install dependencies"
run: |
python -VV
python -m pip install --upgrade pip
uv sync -p ${{ matrix.python-version }}
- name: "Run pytest"
run: uv run pytest
- name: Test snowbench
run: |
uv run snowbench snowfakery/tools/benchmark_1.yml --num-records 10_000 --num-records-tablename Account --number-of-processes 4
uv run snowbench | tee bench.txt
tail -n 7 bench.txt >> $GITHUB_STEP_SUMMARY
with_cci:
name: With CumulusCI
runs-on: SFDO-Tooling-Ubuntu
steps:
- uses: "actions/checkout@v4"
- run: |
git fetch --no-tags origin main:_remote_main_
- uses: "actions/setup-python@v5"
with:
python-version: "3.11"
- name: Set up uv
uses: SFDO-Tooling/setup-uv@main
with:
version: "0.5.0"
enable-cache: true
- name: Install dependencies
run: |
python -VV
python -m pip install --upgrade pip
uv sync -p 3.11
uv add git+https://github.com/SFDO-Tooling/CumulusCI.git@main
- name: Run Tests
run: |
uv run coverage run -m pytest
- name: Check Coverage
run: |
uv run coverage xml
uv run coverage report
git diff HEAD.._remote_main_
uv run diff-cover coverage.xml --fail-under 100 --compare-branch=_remote_main_ --diff-range-notation=.. --show-uncovered --markdown-report coverage.md
cat coverage.md >> $GITHUB_STEP_SUMMARY
- name: Type Check
run: uv run pyright
faker_docs:
name: Faker Docs
runs-on: SFDO-Tooling-Ubuntu
steps:
- uses: "actions/checkout@v4"
- uses: "actions/setup-python@v5"
with:
python-version: "3.11"
- name: Set up uv
uses: SFDO-Tooling/setup-uv@main
with:
version: "0.5.0"
enable-cache: true
- name: Install dependencies
run: |
python -VV
pip install -r docs/requirements.txt
# docs build requires a proper install
pip install .
- name: Make Docs
run: make docs
pip:
name: "Install from Pip ${{ matrix.python-version }}"
runs-on: SFDO-Tooling-Ubuntu
strategy:
matrix:
python-version: ["3.11", "3.12", "3.13"]
steps:
- uses: "actions/checkout@v4"
- uses: "actions/setup-python@v5"
with:
python-version: "${{ matrix.python-version }}"
- name: "Install dependencies"
run: |
python -VV
python -m pip install --upgrade pip
- name: "Install using pip"
run: |
pip install .
- name: "Test installation"
run: |
python -m snowfakery --version