Skip to content

build(deps): bump dawidd6/action-download-artifact from 2 to 3 #39

build(deps): bump dawidd6/action-download-artifact from 2 to 3

build(deps): bump dawidd6/action-download-artifact from 2 to 3 #39

Workflow file for this run

name: ci
on:
push:
branches:
- main
pull_request:
concurrency:
group: test-${{ github.head_ref }}
cancel-in-progress: true
env:
PYTHONUNBUFFERED: "1"
FORCE_COLOR: "1"
jobs:
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
- 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: ${{ matrix.python-version }}
- name: Install Hatch
run: pip install --upgrade hatch hatch-pip-compile
- if: matrix.python-version == '3.12' && runner.os == 'Linux'
name: Lint
run: hatch run lint:check
- name: Run tests and track code coverage
run: hatch run test:cov
run-container-matrix:
name: Container matrix on Linux
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- 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 3.12
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install Hatch
run: pip install --upgrade hatch hatch-containers hatch-pip-compile
- name: Run tests in container matrix
run: hatch run test:no-cov
sonar:
needs:
- run
- run-container-matrix
if: github.event.pull_request.head.repo.fork == false && github.repository_owner == 'jolt-org'
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Download Artifacts
uses: actions/download-artifact@v3
with:
name: coverage-xml
- name: Fix coverage file for sonarcloud
run: sed -i "s/home\/runner\/work\/pytest-databases\/pytest-databases/github\/workspace/g" coverage.xml
- name: SonarCloud Scan
uses: sonarsource/sonarcloud-github-action@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
codeql:
needs:
- run
- run-container-matrix
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@v2
with:
setup-python-dependencies: false
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
build-docs:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.11"
- name: Install Hatch
run: pip install --upgrade hatch hatch-containers hatch-pip-compile
- name: Build docs
run: hatch run docs:build
- name: Save PR number
env:
PR_NUMBER: ${{ github.event.number }}
run: echo $PR_NUMBER > .pr_number
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: docs-preview
path: |
docs/_build/html
.pr_number