-
Notifications
You must be signed in to change notification settings - Fork 1.5k
62 lines (53 loc) · 1.6 KB
/
pr.yml
File metadata and controls
62 lines (53 loc) · 1.6 KB
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
name: 01. Pull Request Checks
on:
workflow_dispatch:
pull_request:
branches: [ main, develop ]
paths-ignore:
- 'docs/**'
- '**.md'
- 'LICENSE'
- 'CONTRIBUTING.md'
- '**.png'
- '**.jpg'
- '**.jpeg'
- '**.gif'
- '**.svg'
- '.gitignore'
- '.editorconfig'
jobs:
lint:
uses: ./.github/workflows/_lint.yml
test-lite:
uses: ./.github/workflows/_test_lite.yml
with:
os_json: '["ubuntu-24.04"]'
python_json: '["3.10"]'
check-deps:
runs-on: ubuntu-24.04
outputs:
deps_changed: ${{ steps.check.outputs.deps_changed }}
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Check for dependency changes
id: check
run: |
git fetch origin ${{ github.base_ref }}
# Define grep pattern for dependency files
PATTERN="pyproject\.toml|setup\.py|uv\.lock|src/CMakeLists\.txt|third_party/|\.github/workflows/_build\.yml"
# Check for changes
CHANGED_FILES=$(git diff --name-only origin/${{ github.base_ref }} HEAD | grep -E "$PATTERN" || true)
if [ -n "$CHANGED_FILES" ]; then
echo "Dependency changes detected:"
echo "$CHANGED_FILES"
echo "deps_changed=true" >> $GITHUB_OUTPUT
else
echo "No dependency changes detected."
echo "deps_changed=false" >> $GITHUB_OUTPUT
fi
build:
needs: check-deps
if: ${{ needs.check-deps.outputs.deps_changed == 'true' }}
uses: ./.github/workflows/_build.yml