This repository has been archived by the owner on Feb 25, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
159 lines (150 loc) · 4.07 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
151
152
153
154
155
156
157
158
name: Build
on: [ push, pull_request ]
jobs:
build-gcc:
name: Ubuntu GCC
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: recursive
- name: Install dependencies
run: |
sudo apt update -q -y
sudo apt install -q -y gcc make libgcrypt-dev libgpg-error-dev
git config --global --add safe.directory '*'
- name: Configure
run:
./configure CC=gcc CXX=g++
- name: Make
run: make -j$(nproc)
build-clang:
name: Ubuntu Clang
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: recursive
- name: Install dependencies
run: |
sudo apt update -q -y
sudo apt install -q -y clang make libgcrypt-dev libgpg-error-dev
git config --global --add safe.directory '*'
- name: Configure
run: |
./configure CC=clang CXX=clang++ --enable-lto --enable-static
- name: Make
run: |
make -j$(nproc)
build-macos:
name: MacOS Clang
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: recursive
- name: Install dependencies
run: |
brew install llvm make libgcrypt libgpg-error
git config --global --add safe.directory '*'
- name: Configure
run: |
./configure CC=clang CXX=clang++
- name: Make
run: make -j$(sysctl -n hw.logicalcpu)
build-macos-gcc:
name: MacOS GCC
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: recursive
- name: Install dependencies
run: |
brew install gcc make libgcrypt libgpg-error
git config --global --add safe.directory '*'
- name: Configure
run: |
./configure CC=gcc CXX=g++
- name: Make
run: make -j$(sysctl -n hw.logicalcpu)
build-windows-msys2:
name: Windows msys2 GCC
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: recursive
- uses: msys2/setup-msys2@v2
with:
install: git gcc make libgcrypt-devel libgpg-error-devel msys2-runtime-devel
- name: Configure
run: |
git config --global --add safe.directory '*'
./configure CC=gcc CXX=g++ --enable-lto --enable-static
- name: Make
run: make -j$(nproc)
build-archs:
name: aarch64, s390x, ppc64le Debian Clang
strategy:
fail-fast: false
matrix:
arch: [ aarch64, s390x, ppc64le ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: recursive
- uses: uraimo/run-on-arch-action@v2
name: Run in the container
with:
arch: ${{ matrix.arch }}
distro: bullseye
shell: /bin/sh
dockerRunArgs: |
--volume "${PWD}:/modern-rzip"
install: |
apt update -q -y
apt install -q -y git clang make libgcrypt-dev libgpg-error-dev
run: |
git config --global --add safe.directory '*'
cd /modern-rzip
./configure CC=clang CXX=clang++ --enable-static
make
build-archs-gcc:
name: aarch64, s390x, ppc64le Debian GCC
strategy:
fail-fast: false
matrix:
arch: [ aarch64, s390x, ppc64le ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: recursive
- uses: uraimo/run-on-arch-action@v2
name: Run in the container
with:
arch: ${{ matrix.arch }}
distro: bullseye
shell: /bin/sh
dockerRunArgs: |
--volume "${PWD}:/modern-rzip"
install: |
apt update -q -y
apt install -q -y git gcc g++ make libgcrypt-dev libgpg-error-dev
run: |
git config --global --add safe.directory '*'
cd /modern-rzip
./configure CC=gcc CXX=g++
make