Bump types-pyyaml from 6.0.12.20240917 to 6.0.12.20241221 #639
Workflow file for this run
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
--- | |
name: CI pipeline | |
on: | |
pull_request_target: | |
branches: | |
- main | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
env: | |
DBT_PROFILES_DIR: dbt_project | |
DBT_PROJECT_DIR: dbt_project | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
IMAGE_NAME: ${{ github.repository }} | |
POETRY_VERSION: "1.8.3" | |
POETRY_VIRTUALENVS_IN_PROJECT: true | |
REGISTRY: ghcr.io | |
jobs: | |
pre-commit: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: "0" | |
- name: checkout-merge | |
uses: check-spelling/[email protected] | |
- name: Determine python version | |
id: python-version | |
run: | | |
export PYTHON_VERSION=$(cat .python-version) | |
echo "PYTHON_VERSION: $PYTHON_VERSION" | |
echo "PYTHON_VERSION=$PYTHON_VERSION" >> $GITHUB_OUTPUT | |
- name: Setup Python | |
uses: ./.github/actions/setup_python_env | |
with: | |
poetry-version: ${{ env.POETRY_VERSION }} | |
python-version: ${{ steps.python-version.outputs.PYTHON_VERSION }} | |
- name: Run pre-commit | |
run: | | |
git diff --name-status origin/main..HEAD > changed_files.txt | |
cat changed_files.txt | |
cat changed_files.txt | xargs poetry run pre-commit run --files | |
unit-tests: | |
needs: [pre-commit] | |
runs-on: ${{ matrix.operating-system }} | |
permissions: | |
contents: write | |
id-token: write | |
issues: write | |
pull-requests: write | |
strategy: | |
fail-fast: false | |
matrix: | |
operating-system: | |
- ubuntu-22.04 | |
- windows-latest | |
python-version: | |
- '3.9' | |
- '3.10' | |
- '3.11' | |
- '3.12' | |
- '3.13' | |
steps: | |
- uses: actions/checkout@v4 | |
- name: checkout-merge | |
if: matrix.operating-system != 'windows-latest' | |
uses: check-spelling/[email protected] | |
- name: Setup Python | |
uses: ./.github/actions/setup_python_env | |
with: | |
poetry-version: ${{ env.POETRY_VERSION }} | |
python-version: ${{ matrix.python-version }} | |
- name: Run pytest (Windows) | |
if: matrix.operating-system == 'windows-latest' | |
run: make test-windows | |
- name: Run pytest (unit tests) | |
if: matrix.operating-system != 'windows-latest' | |
run: make test-unit | tee pytest-coverage.txt && exit ${PIPESTATUS[0]} | |
- name: Pytest coverage comment | |
if: matrix.python-version == '3.11' && matrix.operating-system != 'windows-latest' | |
uses: MishaKav/pytest-coverage-comment@main | |
with: | |
pytest-coverage-path: ./pytest-coverage.txt | |
title: Coverage Report | |
badge-title: Coverage | |
junitxml-path: ./coverage.xml | |
- name: Run pytest (integration tests) | |
if: matrix.operating-system != 'windows-latest' | |
run: make test-integration | |
- name: Regenerate dbt artifacts and run `dbt-bouncer` | |
if: matrix.operating-system == 'windows-latest' | |
run: | | |
$env:Path += ';C:\Users\runneradmin\.local\bin' | |
make build-and-run-dbt-bouncer | |
- name: Regenerate dbt artifacts and run `dbt-bouncer` | |
if: matrix.operating-system != 'windows-latest' | |
run: | | |
(r=3;while ! make build-and-run-dbt-bouncer ; do ((--r))||exit;done) | |
e2e-tests: | |
needs: [pre-commit] | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: checkout-merge | |
uses: check-spelling/[email protected] | |
- name: Determine python version | |
id: python-version | |
run: | | |
export PYTHON_VERSION=$(cat .python-version) | |
echo "PYTHON_VERSION: $PYTHON_VERSION" | |
echo "PYTHON_VERSION=$PYTHON_VERSION" >> $GITHUB_OUTPUT | |
- name: Setup Python | |
uses: ./.github/actions/setup_python_env | |
with: | |
poetry-version: ${{ env.POETRY_VERSION }} | |
python-version: ${{ steps.python-version.outputs.PYTHON_VERSION }} | |
- name: Build pex file | |
run: make build-pex | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build image | |
uses: docker/build-push-action@v6 | |
with: | |
build-args: PYTHON_VERSION=${{ steps.python-version.outputs.PYTHON_VERSION }} | |
cache-from: type=gha | |
cache-to: type=gha,mode=max | |
context: . | |
load: true | |
push: false | |
tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:ci | |
- name: Run e2e test | |
run: | | |
docker run --rm \ | |
--volume "$PWD":/app \ | |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:ci \ | |
--config-file /app/dbt-bouncer-example.yml | |
mkdocs-build: | |
needs: [pre-commit] | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: checkout-merge | |
uses: check-spelling/[email protected] | |
- name: Determine python version | |
id: python-version | |
run: | | |
export PYTHON_VERSION=$(cat .python-version) | |
echo "PYTHON_VERSION: $PYTHON_VERSION" | |
echo "PYTHON_VERSION=$PYTHON_VERSION" >> $GITHUB_OUTPUT | |
- name: Setup Python | |
uses: ./.github/actions/setup_python_env | |
with: | |
poetry-version: ${{ env.POETRY_VERSION }} | |
python-version: ${{ steps.python-version.outputs.PYTHON_VERSION }} | |
- name: Build docs website | |
run: poetry run mkdocs build | |
pex-tests: | |
needs: [pre-commit] | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: checkout-merge | |
uses: check-spelling/[email protected] | |
- name: Determine python version | |
id: python-version | |
run: | | |
export PYTHON_VERSION=$(cat .python-version) | |
echo "PYTHON_VERSION: $PYTHON_VERSION" | |
echo "PYTHON_VERSION=$PYTHON_VERSION" >> $GITHUB_OUTPUT | |
- name: Setup Python | |
uses: ./.github/actions/setup_python_env | |
with: | |
poetry-version: ${{ env.POETRY_VERSION }} | |
python-version: ${{ steps.python-version.outputs.PYTHON_VERSION }} | |
- name: Build pex file | |
run: make build-pex | |
- name: Test pex file | |
run: ./dist/dbt-bouncer.pex --config-file $PWD/dbt-bouncer-example.yml |