forked from libarchive/libarchive
-
Notifications
You must be signed in to change notification settings - Fork 0
156 lines (152 loc) · 4.35 KB
/
ci.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
name: CI
on: [push, pull_request]
jobs:
MacOS:
runs-on: macos-13
strategy:
matrix:
bs: [autotools, cmake]
steps:
- uses: actions/checkout@master
- name: Install dependencies
run: ./build/ci/github_actions/macos.sh prepare
- name: Autogen
run: ./build/ci/build.sh -a autogen
env:
BS: ${{ matrix.bs }}
- name: Configure
run: ./build/ci/build.sh -a configure
env:
BS: ${{ matrix.bs }}
- name: Build
run: ./build/ci/build.sh -a build
env:
BS: ${{ matrix.bs }}
MAKE_ARGS: -j
- name: Test
run: ./build/ci/build.sh -a test
env:
BS: ${{ matrix.bs }}
SKIP_OPEN_FD_ERR_TEST: 1
IGNORE_TRAVERSALS_TEST4: 1
MAKE_ARGS: -j
- name: Install
run: ./build/ci/build.sh -a install
env:
BS: ${{ matrix.bs }}
MAKE_ARGS: -j
- name: Artifact
run: ./build/ci/build.sh -a artifact
env:
BS: ${{ matrix.bs }}
- uses: actions/upload-artifact@v1
with:
name: libarchive-macos-${{ matrix.bs }}-${{ github.sha }}
path: libarchive.tar.xz
Ubuntu:
runs-on: ubuntu-22.04
strategy:
matrix:
bs: [autotools, cmake]
crypto: [mbedtls, nettle, openssl]
steps:
- uses: actions/checkout@master
- name: Update apt cache
run: sudo apt-get update
- name: Install dependencies
run: sudo apt-get install -y autoconf automake build-essential cmake git libssl-dev nettle-dev libmbedtls-dev libacl1-dev libbz2-dev liblzma-dev liblz4-dev libzstd-dev lzop pkg-config zlib1g-dev
- name: Autogen
run: ./build/ci/build.sh -a autogen
env:
BS: ${{ matrix.bs }}
- name: Configure
run: ./build/ci/build.sh -a configure
env:
BS: ${{ matrix.bs }}
CRYPTO: ${{ matrix.crypto }}
- name: Build
run: ./build/ci/build.sh -a build
env:
BS: ${{ matrix.bs }}
MAKE_ARGS: -j
- name: Test
run: ./build/ci/build.sh -a test
env:
BS: ${{ matrix.bs }}
SKIP_OPEN_FD_ERR_TEST: 1
MAKE_ARGS: -j
- name: Install
run: ./build/ci/build.sh -a install
env:
BS: ${{ matrix.bs }}
- name: Artifact
run: ./build/ci/build.sh -a artifact
env:
BS: ${{ matrix.bs }}
- uses: actions/upload-artifact@v1
with:
name: libarchive-ubuntu-${{ matrix.bs }}-${{ matrix.crypto }}-${{ github.sha }}
path: libarchive.tar.xz
Ubuntu-distcheck:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@master
- name: Update package definitions
run: sudo apt-get update
- name: Install dependencies
run: sudo apt-get install -y autoconf automake bsdmainutils build-essential cmake ghostscript git groff libssl-dev libacl1-dev libbz2-dev liblzma-dev liblz4-dev libzstd-dev lzop pkg-config zip zlib1g-dev
- name: Autogen
run: ./build/ci/build.sh -a autogen
- name: Configure
run: ./build/ci/build.sh -a configure
- name: Distcheck
run: ./build/ci/build.sh -a distcheck
env:
SKIP_OPEN_FD_ERR_TEST: 1
- name: Dist-Artifact
run: ./build/ci/build.sh -a dist-artifact
- uses: actions/upload-artifact@v1
with:
name: libarchive-${{ github.sha }}
path: libarchive-dist.tar
Windows:
runs-on: windows-2022
strategy:
matrix:
be: [mingw-gcc, msvc]
steps:
- uses: actions/checkout@master
- name: Install dependencies
run: ./build/ci/github_actions/ci.cmd deplibs
shell: cmd
env:
BE: ${{ matrix.be }}
- name: Configure
run: ./build/ci/github_actions/ci.cmd configure
shell: cmd
env:
BE: ${{ matrix.be }}
- name: Build
run: ./build/ci/github_actions/ci.cmd build
shell: cmd
env:
BE: ${{ matrix.be }}
- name: Test
run: ./build/ci/github_actions/ci.cmd test
shell: cmd
env:
BE: ${{ matrix.be }}
- name: Install
run: ./build/ci/github_actions/ci.cmd install
shell: cmd
env:
BE: ${{ matrix.be }}
- name: Artifact
run: ./build/ci/github_actions/ci.cmd artifact
shell: cmd
env:
BE: ${{ matrix.be }}
- uses: actions/upload-artifact@v1
with:
name: libarchive-windows-${{ matrix.be }}-${{ github.sha }}
path: libarchive.zip