forked from markus-perl/ffmpeg-build-script
-
Notifications
You must be signed in to change notification settings - Fork 2
150 lines (136 loc) · 4.24 KB
/
build.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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
name: build test
on:
push:
paths-ignore:
- '*.md'
pull_request:
branches: [ master ]
jobs:
build-linux:
name: build in native linux
runs-on: ubuntu-20.04
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: install libva-dev
run: |
sudo apt-get update
sudo apt-get install -y libva-dev
- name: build ffmpeg
run: |
while sleep 300; do echo "=====[ $SECONDS seconds still running ]====="; done &
SKIPINSTALL=yes VERBOSE=yes ./build-ffmpeg --build --enable-gpl-and-non-free
kill %1
- name: check shared library
run: |
ldd ./workspace/bin/ffmpeg
- name: test run ffmepg
run: |
./workspace/bin/ffmpeg -buildconf
- name: clean up
run: |
./build-ffmpeg --cleanup
build-macos:
name: build in native macOS
runs-on: macos-10.15
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: build ffmpeg
run: |
while sleep 300; do echo "=====[ $SECONDS seconds still running ]====="; done &
SKIPINSTALL=yes VERBOSE=yes ./build-ffmpeg --build --enable-gpl-and-non-free
kill %1
- name: check shared library
run: |
otool -L ./workspace/bin/ffmpeg
- name: test run ffmepg
run: |
./workspace/bin/ffmpeg -buildconf
- name: clean up
run: |
./build-ffmpeg --cleanup
build-docker:
name: build in docker
runs-on: ubuntu-20.04
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: pull base image
id: ubuntu_pull
run: |
docker pull ubuntu:20.04
- name: run if ubuntu_pull failed
if: failure() && steps.ubuntu_pull.outcome == 'failure'
run: |
docker pull ubuntu:20.04
- name: build ffmpeg
run: |
docker build -t ffmpeg:ubuntu -f Dockerfile .
- name: test run ffmepg
run: |
docker run --rm ffmpeg:ubuntu -buildconf
build-cuda-ubuntu-docker:
name: build in ubuntu docker with cuda
runs-on: ubuntu-20.04
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: pull base image
id: cuda_ubuntu_pull
run: |
docker pull nvidia/cuda:11.4.2-devel-ubuntu20.04
docker pull ubuntu:20.04
- name: run if cuda_ubuntu_pull failed
if: failure() && steps.cuda_ubuntu_pull.outcome == 'failure'
run: |
docker pull nvidia/cuda:11.4.2-devel-ubuntu20.04
docker pull ubuntu:20.04
- name: build ffmpeg
run: |
docker build -t ffmpeg:cuda-ubuntu -f cuda-ubuntu.dockerfile .
- name: test run ffmepg
run: |
docker run --rm ffmpeg:cuda-ubuntu -buildconf
build-cuda-centos-docker:
name: build in centos docker with cuda
runs-on: ubuntu-20.04
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: pull base image
id: cuda_centos_pull
run: |
docker pull nvidia/cuda:11.4.2-devel-centos8
docker pull centos:8
- name: run if cuda_centos_pull failed
if: failure() && steps.cuda_centos_pull.outcome == 'failure'
run: |
docker pull nvidia/cuda:11.4.2-devel-centos8
docker pull centos:8
- name: build ffmpeg
run: |
docker build -t ffmpeg:cuda-centos -f cuda-centos.dockerfile .
- name: test run ffmepg
run: |
docker run --rm ffmpeg:cuda-centos -buildconf
build-full-static:
name: full static build in docker
runs-on: ubuntu-20.04
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: pull base image
id: cuda_ubuntu_pull
run: |
docker pull nvidia/cuda:11.4.2-devel-ubuntu20.04
- name: run if cuda_ubuntu_pull failed
if: failure() && steps.cuda_ubuntu_pull.outcome == 'failure'
run: |
docker pull nvidia/cuda:11.4.2-devel-ubuntu20.04
- name: build ffmpeg
run: |
docker build -t ffmpeg:cuda-static -f full-static.dockerfile .
- name: test run ffmepg
run: |
docker run --rm ffmpeg:cuda-static -buildconf