generated from ydataai/opensource-template
-
Notifications
You must be signed in to change notification settings - Fork 4
132 lines (105 loc) · 2.78 KB
/
pull-request.yaml
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
name: Pull Request
on:
push:
branches:
- renovate/**
pull_request:
branches:
- main
jobs:
validate:
if: github.actor != 'renovate[bot]'
name: Validate
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}
fetch-depth: 0
persist-credentials: false
- name: Configurating Git
run: |
git config user.email "[email protected]"
git config user.name "Azory YData Bot"
git config core.autocrlf false
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Cache pip dependencies
id: cache
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('pyproject.toml') }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install setuptools
make install-all
- name: Validate code formatting
run: make lint
- name: Commit code formatting changes
if: always()
id: commit
run: |
if [[ `git status --porcelain --untracked-files=no` ]]; then
echo "CHANGES=true" >> $GITHUB_OUTPUT
git add -u
git commit -m "fix(linting): code formatting" -a
else
echo "CHANGES=false" >> $GITHUB_OUTPUT
fi
- name: Push changes
uses: ad-m/[email protected]
if: always() && steps.commit.outputs.CHANGES == 'true'
with:
branch: ${{ github.head_ref }}
github_token: ${{ secrets.ACCESS_TOKEN }}
validate-docs:
name: Validate Docs
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Cache pip dependencies
id: cache
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('pyproject.toml') }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
make install-doc
- name: Build docs
run: |
mkdocs build
test:
name: Test
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Cache pip dependencies
id: cache
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('pyproject.toml') }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
make install-test
- name: Unit Tests
run: |
make test
- name: Coverage Tests
run: |
make test-cov