feat: First steps to replace sql normalization with rusts #59
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: SQLGuard CI/CD | ||
| on: | ||
| push: | ||
| branches: | ||
| - main | ||
| tags: | ||
| - "*" | ||
| pull_request: | ||
| branches: | ||
| - main | ||
| jobs: | ||
| test-sqlguard-py3-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: "3.13" | ||
| - 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 | ||
| steps: | ||
| - name: Checkout code | ||
| uses: actions/checkout@v4 | ||
| - name: Set up Rust | ||
| run: | | ||
| rustup toolchain install --profile minimal --no-self-update | ||
| - name: Install uv | ||
| uses: astral-sh/setup-uv@v5 | ||
| - 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] | ||
|
Check failure on line 54 in .github/workflows/sqlguard-ci.yml
|
||
| 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 | ||