Skip to content

v1.2.0

v1.2.0 #19

---
name: Post release pipeline
on:
release:
types: [published]
env:
DBT_PROFILES_DIR: dbt_project
DBT_PROJECT_DIR: dbt_project
POETRY_VERSION: "1.8.3"
POETRY_VIRTUALENVS_IN_PROJECT: true
jobs:
docker-tests:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Run Docker test
run: |
docker run --rm \
--volume "$PWD":/app \
ghcr.io/godatadriven/dbt-bouncer:$(echo "${{ github.ref }}" | cut -d "/" -f3) \
--config-file /app/dbt-bouncer-example.yml
github-action-test:
runs-on: ubuntu-latest
steps:
- name: Checkout
run: git clone https://github.com/godatadriven/dbt-bouncer.git --branch $(echo "${{ github.ref }}" | cut -d "/" -f3) --depth 1
- name: Run `dbt-bouncer`
uses: ./dbt-bouncer
with:
config-file: ./dbt-bouncer/dbt-bouncer-example.yml
send-pr-comment: false
pex-tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version:
- '3.8'
- '3.9'
- '3.10'
- '3.11'
- '3.12'
steps:
- name: Checkout
uses: actions/checkout@v4
- 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: ${{ matrix.python-version }}
- name: Download `pex` artifact
run: wget https://github.com/godatadriven/dbt-bouncer/releases/download/$(echo "${{ github.ref }}" | cut -d "/" -f3)/dbt-bouncer.pex -O ./dbt-bouncer.pex
- name: Run `dbt-bouncer`
run: python ./dbt-bouncer.pex --config-file dbt-bouncer-example.yml
pypi-pause:
runs-on: ubuntu-latest
steps:
# PyPi appears to be "slow" to register new packages, adding manual delay to account for this
- run: sleep 90
pypi-tests:
needs: [pypi-pause]
runs-on: ${{ matrix.operating-system }}
strategy:
fail-fast: false
matrix:
operating-system:
- ubuntu-latest
- windows-latest
python-version:
- '3.8'
- '3.9'
- '3.10'
- '3.11'
- '3.12'
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: ./.github/actions/setup_python_env
with:
poetry-version: ${{ env.POETRY_VERSION }}
python-version: ${{ matrix.python-version }}
- name: Install `dbt-bouncer`
if: matrix.operating-system == 'windows-latest'
run: |
$env:DBT_BOUNCER_VERSION = $("${{ github.ref }}" -Split "/")[2].TrimStart("v")
pip install "dbt-bouncer==$env:DBT_BOUNCER_VERSION"
- name: Install `dbt-bouncer`
if: matrix.operating-system != 'windows-latest'
run: pip install dbt-bouncer==$(echo "${{ github.ref }}" | cut -d "/" -f3)
- name: Run `dbt-bouncer`
run: dbt-bouncer --config-file dbt-bouncer-example.yml
- name: Regenerate dbt artifacts and run `dbt-bouncer`
if: matrix.operating-system == 'windows-latest'
run: |
$env:Path += ';C:\Users\runneradmin\.local\bin'
poetry run dbt deps
poetry run dbt build
poetry run dbt docs generate
poetry run dbt-bouncer --config-file ./dbt-bouncer-example.yml
- name: Regenerate dbt artifacts and run `dbt-bouncer`
if: matrix.operating-system != 'windows-latest'
run: |
poetry run dbt deps
poetry run dbt build
poetry run dbt docs generate
poetry run dbt-bouncer --config-file ./dbt-bouncer-example.yml