148 lines (133 loc) · 3.74 KB
/
build-linux.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
name: Build - linux
on:
push:
branches:
- '**'
tags:
- 'v*'
paths-ignore:
- 'buildtools/docker/**'
- 'docs/**'
- '.vscode/**'
- '.devcontainer/**'
- '**.md'
jobs:
build-debian10:
runs-on: ubuntu-latest
container:
image: ghcr.io/wangyoucao577/ffmpeg-build/linux-debian10
steps:
- uses: actions/checkout@v3
with:
fetch-depth: '0'
submodules: 'true'
- name: Build
run: |
buildtools/scripts/build.sh
tree build
- uses: actions/upload-artifact@v3
with:
name: ffmpeg-bin-debian10
path: build/bin/
- uses: actions/upload-artifact@v3
if: failure()
with:
name: ffbuild-logs-debian10
path: ffmpeg/ffbuild/config.log
test-debian10:
needs: build-debian10
runs-on: ubuntu-latest
container:
image: ghcr.io/wangyoucao577/ffmpeg-build/linux-debian10
steps:
- uses: actions/checkout@v3
- name: Download all artifacts
uses: actions/download-artifact@v3
- name: Test
run: |
export FFMPEG_BIN_PATH=ffmpeg-bin-debian10
./tests/acceptance-test.sh
build-debian11:
strategy:
matrix:
build_type: [debug, release]
runs-on: ubuntu-latest
container:
image: ghcr.io/wangyoucao577/ffmpeg-build/linux-debian11
steps:
- uses: actions/checkout@v3
with:
fetch-depth: '0'
submodules: 'true'
- name: Build
run: |
export FFMPEG_BUILD_TYPE=${{ matrix.build_type }}
buildtools/scripts/build.sh
tree build
- uses: actions/upload-artifact@v3
with:
name: ffmpeg-bin-debian11-${{ matrix.build_type }}
path: build/bin/
- uses: actions/upload-artifact@v3
if: failure()
with:
name: ffbuild-logs-debian11-${{ matrix.build_type }}
path: ffmpeg/ffbuild/config.log
test-debian11:
strategy:
matrix:
build_type: [debug, release]
needs: build-debian11
runs-on: ubuntu-latest
container:
image: ghcr.io/wangyoucao577/ffmpeg-build/linux-debian11
steps:
- uses: actions/checkout@v3
- name: Download all artifacts
uses: actions/download-artifact@v3
- name: Test
run: |
export FFMPEG_BIN_PATH=ffmpeg-bin-debian11-${{ matrix.build_type }}
./tests/acceptance-test.sh
build-ubuntu2204:
strategy:
matrix:
build_type: [release]
runs-on: ubuntu-latest
container:
image: ghcr.io/wangyoucao577/ffmpeg-build/linux-ubuntu2204
steps:
- uses: actions/checkout@v3
with:
fetch-depth: '0'
submodules: 'true'
- name: Build
run: |
export FFMPEG_BUILD_TYPE=${{ matrix.build_type }}
buildtools/scripts/build.sh
tree build
- uses: actions/upload-artifact@v3
with:
name: ffmpeg-bin-ubuntu2204-${{ matrix.build_type }}
path: build/bin/
- uses: actions/upload-artifact@v3
if: failure()
with:
name: ffbuild-logs-ubuntu2204-${{ matrix.build_type }}
path: ffmpeg/ffbuild/config.log
test-ubuntu2204:
strategy:
matrix:
build_type: [release]
needs: build-ubuntu2204
runs-on: ubuntu-latest
container:
image: ghcr.io/wangyoucao577/ffmpeg-build/linux-ubuntu2204
steps:
- uses: actions/checkout@v3
- name: Download all artifacts
uses: actions/download-artifact@v3
- name: Test
run: |
export FFMPEG_BIN_PATH=ffmpeg-bin-ubuntu2204-${{ matrix.build_type }}
./tests/acceptance-test.sh