-
Notifications
You must be signed in to change notification settings - Fork 33
135 lines (118 loc) · 3.31 KB
/
python-app.yml
File metadata and controls
135 lines (118 loc) · 3.31 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
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
133
134
135
# This workflow will install Python dependencies, run tests and lint with a single version of Python
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: fluster
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
commit-validation:
name: Validate commits
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: '3.10'
- name: Install pre-commit
run: pip install pre-commit==2.21.0
- name: Install pre-commit hooks
run: pre-commit install
- name: Validate all commit messages
run: |
git fetch --prune --unshallow
BASE_REF=${{ github.base_ref }}
if [ -z "$BASE_REF" ]; then
BASE_REF="master"
fi
git rev-list --no-merges origin/$BASE_REF..${{ github.sha }} > commits.txt
while read commit; do
echo "Validate commit: $commit"
git show -s --format=%B $commit > commit-msg.txt
pre-commit run conventional-pre-commit --hook-stage commit-msg --commit-msg-filename commit-msg.txt || exit 1
done < commits.txt
- name: Validate all files
run: |
pre-commit run --all-files --show-diff-on-failure
manpage:
name: Check manpage is in sync
runs-on: ubuntu-22.04
needs:
- commit-validation
steps:
- uses: actions/checkout@v5
- name: Install pandoc
run: |
sudo apt update
sudo apt install -y pandoc
- name: Regenerate manpage
run: |
make docs/fluster.1
- name: Ensure generated manpage is up-to-date
run: |
git diff --exit-code -- docs/fluster.1
min_linux:
name: linux with min supported deps
runs-on: ubuntu-22.04
needs:
- commit-validation
steps:
- uses: actions/checkout@v5
- name: Set up Python 3.7
uses: actions/setup-python@v6
with:
python-version: 3.7
- name: Install dependencies
run: |
make install_deps
sudo apt update && sudo apt install gstreamer1.0-tools gstreamer1.0-libav gstreamer1.0-plugins-bad ffmpeg vpx-tools aom-tools
- name: Check
run: |
make check
- name: Test Build the wheel
run: |
pip wheel .
linux:
runs-on: ubuntu-24.04
needs:
- commit-validation
steps:
- uses: actions/checkout@v5
- name: Set up Python 3.13
uses: actions/setup-python@v6
with:
python-version: 3.13
- name: Install dependencies
run: |
make install_deps
sudo apt update && sudo apt install gstreamer1.0-tools gstreamer1.0-libav gstreamer1.0-plugins-bad ffmpeg vpx-tools aom-tools
- name: Check
run: |
make check
- name: Test Build the wheel
run: |
pip wheel .
windows:
runs-on: windows-2022
needs:
- commit-validation
steps:
- uses: actions/checkout@v5
- name: Set up Python 3.7
uses: actions/setup-python@v6
with:
python-version: 3.7
- name: Install dependencies
run: |
make install_deps
- name: Check
run: |
make check
- name: Test Build the wheel
run: |
pip wheel .