-
Notifications
You must be signed in to change notification settings - Fork 2
111 lines (94 loc) · 3.54 KB
/
post_release_pipeline.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
---
name: Post release pipeline
on:
release:
types: [published]
env:
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: 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: Install `dbt-bouncer`
run: pip install dbt-bouncer==$(echo "${{ github.ref }}" | cut -d "/" -f3)
- name: Run `dbt-bouncer`
run: dbt-bouncer --config-file dbt-bouncer-example.yml