Skip to content

Commit 8beca3e

Browse files
committed
CI: Move to Rocky Linux, upload artifacts
1 parent 8806551 commit 8beca3e

File tree

1 file changed

+77
-40
lines changed

1 file changed

+77
-40
lines changed

.github/workflows/ci.yml

+77-40
Original file line numberDiff line numberDiff line change
@@ -4,64 +4,74 @@ on: [push, pull_request]
44

55
jobs:
66
linux:
7-
name: Linux
7+
name: Rocky Linux
88
runs-on: ubuntu-latest
9+
container:
10+
image: rockylinux/rockylinux:8
911
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
1314

14-
- name: Build
15-
run: make
15+
- name: Install dependencies
16+
run: |
17+
dnf update -y
18+
dnf install -y chrpath gcc git make
1619
17-
macos:
18-
name: macOS
19-
runs-on: macos-latest
20-
steps:
21-
- uses: actions/checkout@v3
20+
- uses: actions/checkout@v4
2221
with:
2322
submodules: true
2423

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
3125
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
3728
3829
- name: Archive build result
3930
uses: actions/upload-artifact@v4
4031
with:
41-
name: Theorafile-osx
42-
path: libtheorafile.dylib
32+
name: Theorafile-lib64
33+
path: libtheorafile.so
4334

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
5040
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
5252
with:
5353
submodules: true
5454

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
5766
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
6269

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
6575

6676
freebsd:
6777
runs-on: ubuntu-latest
@@ -80,6 +90,33 @@ jobs:
8090
sudo pkg install -y gmake
8191
gmake
8292
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+
83120
ios-tvos:
84121
name: iOS/tvOS
85122
runs-on: macos-latest
@@ -106,4 +143,4 @@ jobs:
106143
uses: actions/upload-artifact@v4
107144
with:
108145
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

Comments
 (0)