-
Notifications
You must be signed in to change notification settings - Fork 0
82 lines (79 loc) · 2.41 KB
/
main.yml
File metadata and controls
82 lines (79 loc) · 2.41 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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
name: main
on:
pull_request:
push:
branches: [main]
permissions: {}
jobs:
changes:
runs-on: ubuntu-latest
outputs:
project_files: ${{ steps.filter.outputs.project_files }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: filter
with:
filters: |
project_files:
- .github/workflows/**
- '**/*.py'
- '**/*.sql'
- '**/*.toml'
- '**/*requirements*.txt'
- '**/setup.cfg'
- setup.py
zizmor:
runs-on: ubuntu-latest
permissions:
security-events: write
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- uses: zizmorcore/zizmor-action@b1d7e1fb5de872772f31590499237e7cce841e8e # v0.5.3
main-real:
needs: [changes]
if: needs.changes.outputs.project_files == 'true'
uses: asottile/workflows/.github/workflows/tox.yml@adfec6a1ccb5d6b189aa153676d4f0743afa21c1 # v1.11.0
with:
env: '["py312", "py313", "py314", "pypy7.3.20"]' # https://github.com/actions/runner-images/blob/4847d9e554d1ad62acec5c5bddfc6175fe1bef4e/images/ubuntu/Ubuntu2204-Readme.md#pypy
main:
needs: [changes, main-real]
if: always()
runs-on: ubuntu-latest
steps:
- env:
PROJECT_FILES: ${{ needs.changes.outputs.project_files }}
MAIN_REAL_RESULT: ${{ needs.main-real.result }}
run: |
if [ "$PROJECT_FILES" != "true" ]; then
exit 0
fi
if [ "$MAIN_REAL_RESULT" != "success" ]; then
exit 1
fi
main-win-real:
needs: [changes]
if: needs.changes.outputs.project_files == 'true'
uses: asottile/workflows/.github/workflows/tox.yml@adfec6a1ccb5d6b189aa153676d4f0743afa21c1 # v1.11.0
with:
env: '["py312"]'
os: windows-latest
main-win:
needs: [changes, main-win-real]
if: always()
runs-on: ubuntu-latest
steps:
- env:
PROJECT_FILES: ${{ needs.changes.outputs.project_files }}
MAIN_WIN_REAL_RESULT: ${{ needs.main-win-real.result }}
run: |
if [ "$PROJECT_FILES" != "true" ]; then
exit 0
fi
if [ "$MAIN_WIN_REAL_RESULT" != "success" ]; then
exit 1
fi