-
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
7 changed files
with
188 additions
and
204 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,62 +1,122 @@ | ||
name: Tests And Linting | ||
|
||
on: | ||
pull_request: | ||
push: | ||
branches: | ||
- main | ||
pull_request: | ||
|
||
concurrency: | ||
group: test-${{ github.head_ref }} | ||
cancel-in-progress: true | ||
|
||
env: | ||
PYTHONUNBUFFERED: "1" | ||
FORCE_COLOR: "1" | ||
|
||
jobs: | ||
validate: | ||
runs-on: ubuntu-latest | ||
run: | ||
name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} | ||
runs-on: ${{ matrix.os }} | ||
timeout-minutes: 30 | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [ubuntu-latest] | ||
# os: [ubuntu-latest, windows-latest, macos-latest] | ||
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- uses: actions/setup-python@v5 | ||
- if: runner.os == 'Linux' | ||
name: Install Microsoft ODBC Drivers & Free additional space | ||
run: | | ||
sudo ACCEPT_EULA=Y apt-get install msodbcsql18 -y || true | ||
sudo docker rmi $(docker image ls -aq) >/dev/null 2>&1 || true | ||
sudo rm -rf \ | ||
/usr/share/dotnet /usr/local/lib/android /opt/ghc \ | ||
/usr/local/share/powershell /usr/share/swift /usr/local/.ghcup \ | ||
/usr/lib/jvm || true | ||
sudo apt-get autoremove -y \ | ||
&& sudo apt-get clean -y \ | ||
&& sudo rm -rf /root/.cache \ | ||
&& sudo rm -rf /var/apt/lists/* \ | ||
&& sudo rm -rf /var/cache/apt/* \ | ||
&& sudo apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: "3.11" | ||
python-version: ${{ matrix.python-version }} | ||
|
||
- name: Install Pre-Commit | ||
run: python -m pip install pre-commit && pre-commit install | ||
- name: Install Hatch | ||
run: pip install --upgrade hatch hatch-pip-compile | ||
|
||
- name: Load cached Pre-Commit Dependencies | ||
id: cached-pre-commit-dependencies | ||
uses: actions/cache@v4 | ||
with: | ||
path: ~/.cache/pre-commit/ | ||
key: pre-commit|${{ env.pythonLocation }}|${{ hashFiles('.pre-commit-config.yaml') }} | ||
- if: matrix.python-version == '3.12' && runner.os == 'Linux' | ||
name: Lint | ||
run: hatch run lint:check | ||
|
||
- if: matrix.python-version == '3.12' && runner.os == 'Linux' | ||
name: Run tests with coverage tracking | ||
run: hatch run +py=${{ matrix.python-version }} test:cov | ||
|
||
- name: Execute Pre-Commit | ||
run: pre-commit run --show-diff-on-failure --color=always --all-files | ||
- if: matrix.python-version != '3.12' || runner.os != 'Linux' | ||
name: Run tests without tracking coverage | ||
run: hatch run +py=${{ matrix.python-version }} test:no-cov | ||
|
||
test: | ||
- if: matrix.python-version == '3.12' && runner.os == 'Linux' | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: coverage-xml | ||
path: coverage.xml | ||
|
||
- if: matrix.python-version == '3.12' && runner.os == 'Linux' | ||
name: Upload coverage reports to Codecov | ||
uses: codecov/[email protected] | ||
with: | ||
token: ${{ secrets.CODECOV_TOKEN }} | ||
slug: litestar-org/pytest-databases | ||
sonar: | ||
needs: | ||
- run | ||
if: github.event.pull_request.head.repo.fork == false && github.repository_owner == 'litestar-org' | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: true | ||
matrix: | ||
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] | ||
timeout-minutes: 30 | ||
defaults: | ||
run: | ||
shell: bash | ||
steps: | ||
- name: Check out repository | ||
uses: actions/checkout@v4 | ||
|
||
- uses: pdm-project/setup-pdm@v4 | ||
name: Set up PDM | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis | ||
- name: Download Artifacts | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: coverage-xml | ||
|
||
- name: Install dependencies | ||
run: pdm install | ||
- name: Fix coverage file for sonarcloud | ||
run: sed -i "s/home\/runner\/work\/pytest-databases\/pytest-databases/github\/workspace/g" coverage.xml | ||
|
||
- name: Test | ||
run: pdm run pytest -m "" | ||
- name: SonarCloud Scan | ||
uses: sonarsource/sonarcloud-github-action@master | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | ||
codeql: | ||
needs: | ||
- run | ||
runs-on: ubuntu-latest | ||
permissions: | ||
security-events: write | ||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
|
||
- name: Initialize CodeQL Without Dependencies | ||
uses: github/codeql-action/init@v3 | ||
|
||
- name: Perform CodeQL Analysis | ||
uses: github/codeql-action/analyze@v3 | ||
|
||
build-docs: | ||
needs: | ||
- validate | ||
if: github.event_name == 'pull_request' | ||
runs-on: ubuntu-latest | ||
steps: | ||
|
@@ -68,16 +128,11 @@ jobs: | |
with: | ||
python-version: "3.11" | ||
|
||
- uses: pdm-project/setup-pdm@v4 | ||
name: Set up PDM | ||
with: | ||
python-version: "3.11" | ||
|
||
- name: Install dependencies | ||
run: pdm install -G:all | ||
- name: Install Hatch | ||
run: pip install --upgrade hatch hatch-containers hatch-pip-compile | ||
|
||
- name: Build docs | ||
run: pdm run make docs | ||
run: hatch run docs:build | ||
|
||
- name: Save PR number | ||
env: | ||
|
This file was deleted.
Oops, something went wrong.
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,46 +1,38 @@ | ||
name: Documentation Building | ||
|
||
name: Documentation | ||
on: | ||
release: | ||
types: [published] | ||
push: | ||
branches: | ||
- main | ||
|
||
env: | ||
PYTHONUNBUFFERED: "1" | ||
FORCE_COLOR: "1" | ||
jobs: | ||
docs: | ||
permissions: | ||
contents: write | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- uses: actions/setup-python@v5 | ||
with: | ||
python-version: "3.11" | ||
|
||
- uses: pdm-project/setup-pdm@v4 | ||
name: Set up PDM | ||
with: | ||
python-version: "3.11" | ||
allow-python-prereleases: true | ||
cache: true | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Install dependencies | ||
run: pdm install -G:docs | ||
- name: Set up Python 3.12 | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: 3.11 | ||
|
||
- name: Fetch gh pages | ||
run: git fetch origin gh-pages --depth=1 | ||
- name: Install Hatch | ||
run: pip install --upgrade hatch hatch-pip-compile | ||
|
||
- name: Build release docs | ||
run: pdm run python tools/build_docs.py docs-build | ||
if: github.event_name == 'release' | ||
- name: Build release docs | ||
run: hatch run docs:python scripts/build_docs.py docs-build | ||
if: github.event_name == 'release' | ||
|
||
- name: Build dev docs | ||
run: pdm run python tools/build_docs.py docs-build | ||
if: github.event_name == 'push' | ||
- name: Build dev docs | ||
run: hatch run docs:python scripts/build_docs.py docs-build | ||
if: github.event_name == 'push' | ||
|
||
- name: Deploy | ||
uses: JamesIves/github-pages-deploy-action@v4 | ||
with: | ||
folder: docs-build | ||
- name: Deploy | ||
uses: JamesIves/github-pages-deploy-action@v4 | ||
with: | ||
folder: docs-build |
Oops, something went wrong.