Skip to content

Commit

Permalink
fix: updated release pipeline
Browse files Browse the repository at this point in the history
  • Loading branch information
cofin committed Aug 29, 2024
1 parent a6886fc commit dac76e2
Show file tree
Hide file tree
Showing 7 changed files with 188 additions and 204 deletions.
139 changes: 97 additions & 42 deletions .github/workflows/ci.yaml
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:
Expand All @@ -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:
Expand Down
92 changes: 0 additions & 92 deletions .github/workflows/codeql.yml

This file was deleted.

8 changes: 4 additions & 4 deletions .github/workflows/docs-preview.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Deploy Documentation Preview
name: Documentation Preview

on:
workflow_run:
Expand All @@ -18,7 +18,7 @@ jobs:
uses: actions/checkout@v4

- name: Download artifact
uses: dawidd6/action-download-artifact@v3
uses: dawidd6/action-download-artifact@v6
with:
workflow_conclusion: success
run_id: ${{ github.event.workflow_run.id }}
Expand All @@ -33,7 +33,7 @@ jobs:
with:
folder: docs-preview/docs/_build/html
token: ${{ secrets.DOCS_PREVIEW_DEPLOY_TOKEN }}
repository-name: litestar-org/litestar-oracledb-docs-preview
repository-name: litestar-org/pytest-databases-docs-preview
clean: false
target-folder: ${{ env.PR_NUMBER }}
branch: gh-pages
Expand All @@ -44,7 +44,7 @@ jobs:
with:
script: |
const issue_number = process.env.PR_NUMBER
const body = "Documentation preview will be available shortly at https://litestar-org.github.io/litestar-oracledb-docs-preview/" + issue_number
const body = "Documentation preview will be available shortly at https://litestar-org.github.io/pytest-databases-docs-preview/" + issue_number
const opts = github.rest.issues.listComments.endpoint.merge({
owner: context.repo.owner,
Expand Down
50 changes: 21 additions & 29 deletions .github/workflows/docs.yaml
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
Loading

0 comments on commit dac76e2

Please sign in to comment.