Skip to content

feat: First steps to replace sql normalization with rusts #58

feat: First steps to replace sql normalization with rusts

feat: First steps to replace sql normalization with rusts #58

Workflow file for this run

name: SQLGuard CI/CD
on:
push:
branches:
- main
tags:
- "*"
pull_request:
branches:
- main
jobs:
test-sqlguard:
strategy:
matrix:
python-version: ["3.8", "3.13"]
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Set up Rust
run: |
rustup toolchain install --profile minimal --no-self-update
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Install dependencies
run: |
uv sync --dev
- name: Run tests with uv
run: |
export UV_LINK_MODE=copy
uv run pytest tests
test-tox-sqlguard:
runs-on: ubuntu-latest
container:
image: ghcr.io/astral-sh/uv:debian-slim
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Tox & Tox UV
run: |
uv tool install tox --with tox-uv
echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Run Tox suite
run: tox run -- tests
build-sqlguard:
needs: [test-sqlguard, test-tox-sqlguard]
if: startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
container:
image: ghcr.io/astral-sh/uv:debian-slim
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Build package
run: uv build
- name: "Upload Artifact"
uses: actions/upload-artifact@v4
with:
name: sqlguard-dist
path: dist
retention-days: 5
publish-sqlguard:
needs: [build-sqlguard]
if: startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
permissions:
# IMPORTANT: this permission is mandatory for Trusted Publishing
id-token: write
# Needed for fetching the code
contents: read
steps:
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
name: sqlguard-dist
path: dist
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1