@@ -4,64 +4,74 @@ on: [push, pull_request]
4
4
5
5
jobs :
6
6
linux :
7
- name : Linux
7
+ name : Rocky Linux
8
8
runs-on : ubuntu-latest
9
+ container :
10
+ image : rockylinux/rockylinux:8
9
11
steps :
10
- - uses : actions/checkout@v3
11
- with :
12
- submodules : true
12
+ - name : Are we really on Rocky Linux?
13
+ run : cat /etc/os-release
13
14
14
- - name : Build
15
- run : make
15
+ - name : Install dependencies
16
+ run : |
17
+ dnf update -y
18
+ dnf install -y chrpath gcc git make
16
19
17
- macos :
18
- name : macOS
19
- runs-on : macos-latest
20
- steps :
21
- - uses : actions/checkout@v3
20
+ - uses : actions/checkout@v4
22
21
with :
23
22
submodules : true
24
23
25
- - name : Build Intel
26
- run : |
27
- CC="cc -arch x86_64" make
28
- mv libtheorafile.dylib libtheorafile_x64.dylib
29
-
30
- - name : Build ARM
24
+ - name : Build
31
25
run : |
32
- CC="cc -arch arm64" make
33
- mv libtheorafile.dylib libtheorafile_arm64.dylib
34
-
35
- - name : Lipo universal
36
- run : lipo -create -output libtheorafile.dylib libtheorafile_x64.dylib libtheorafile_arm64.dylib
26
+ make
27
+ strip -S libtheorafile.so
37
28
38
29
- name : Archive build result
39
30
uses : actions/upload-artifact@v4
40
31
with :
41
- name : Theorafile-osx
42
- path : libtheorafile.dylib
32
+ name : Theorafile-lib64
33
+ path : libtheorafile.so
43
34
44
- windows-mingw :
45
- name : Windows (MinGW)
46
- runs-on : windows-latest
47
- defaults :
48
- run :
49
- shell : msys2 {0}
35
+ linux-mingw :
36
+ name : Rocky Linux (MinGW)
37
+ runs-on : ubuntu-latest
38
+ container :
39
+ image : rockylinux/rockylinux:9
50
40
steps :
51
- - uses : actions/checkout@v3
41
+ - name : Are we really on Rocky Linux?
42
+ run : cat /etc/os-release
43
+
44
+ - name : Install dependencies
45
+ run : |
46
+ dnf update -y
47
+ dnf install -y epel-release
48
+ crb enable
49
+ dnf install -y git make mingw32-gcc mingw64-gcc
50
+
51
+ - uses : actions/checkout@v4
52
52
with :
53
53
submodules : true
54
54
55
- - name : Set up MSYS2
56
- uses : msys2/setup-msys2@v2
55
+ - name : Build
56
+ run : |
57
+ mingw32-make
58
+ mkdir x86
59
+ mv libtheorafile.dll x86/
60
+ mingw64-make
61
+ mkdir x64
62
+ mv libtheorafile.dll x64/
63
+
64
+ - name : Archive x86 build result
65
+ uses : actions/upload-artifact@v4
57
66
with :
58
- msystem : mingw32
59
- install : >-
60
- mingw-w64-i686-cc
61
- mingw-w64-i686-make
67
+ name : Theorafile-x86
68
+ path : x86/libtheorafile.dll
62
69
63
- - name : Build
64
- run : mingw32-make
70
+ - name : Archive x64 build result
71
+ uses : actions/upload-artifact@v4
72
+ with :
73
+ name : Theorafile-x64
74
+ path : x64/libtheorafile.dll
65
75
66
76
freebsd :
67
77
runs-on : ubuntu-latest
80
90
sudo pkg install -y gmake
81
91
gmake
82
92
93
+ macos :
94
+ name : macOS
95
+ runs-on : macos-latest
96
+ steps :
97
+ - uses : actions/checkout@v3
98
+ with :
99
+ submodules : true
100
+
101
+ - name : Build Intel
102
+ run : |
103
+ CC="cc -arch x86_64" make
104
+ mv libtheorafile.dylib libtheorafile_x64.dylib
105
+
106
+ - name : Build ARM
107
+ run : |
108
+ CC="cc -arch arm64" make
109
+ mv libtheorafile.dylib libtheorafile_arm64.dylib
110
+
111
+ - name : Lipo universal
112
+ run : lipo -create -output libtheorafile.dylib libtheorafile_x64.dylib libtheorafile_arm64.dylib
113
+
114
+ - name : Archive build result
115
+ uses : actions/upload-artifact@v4
116
+ with :
117
+ name : Theorafile-osx
118
+ path : libtheorafile.dylib
119
+
83
120
ios-tvos :
84
121
name : iOS/tvOS
85
122
runs-on : macos-latest
@@ -106,4 +143,4 @@ jobs:
106
143
uses : actions/upload-artifact@v4
107
144
with :
108
145
name : Theorafile-${{ matrix.sdk }}
109
- path : Xcode/build/Release-${{ matrix.sdk }}/libtheorafile.a
146
+ path : Xcode/build/Release-${{ matrix.sdk }}/libtheorafile.a
0 commit comments