-
Notifications
You must be signed in to change notification settings - Fork 0
188 lines (185 loc) · 5.93 KB
/
Copy pathc-cpp.yml
File metadata and controls
188 lines (185 loc) · 5.93 KB
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
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
name: C/C++ CI
on:
push:
branches: [ '*' ]
pull_request:
branches: [ '*' ]
env:
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
jobs:
ubuntu_14:
name: Ubuntu 14
runs-on: ubuntu-22.04
container:
image: ubuntu:14.04
volumes:
- /node20217:/node20217:rw,rshared
- /node20217:/__e/node20:ro,rshared
steps:
- name: install packages
run: sudo apt-get update && sudo apt-get install -y zlib1g-dev gcc g++ autoconf automake make wget curl
- name: nodejs
run: |
apt-get install -y wget xz-utils
wget https://unofficial-builds.nodejs.org/download/release/v20.9.0/node-v20.9.0-linux-x64-glibc-217.tar.xz
tar -xf node-v20.9.0-linux-x64-glibc-217.tar.xz --strip-components 1 -C /node20217
- uses: actions/checkout@v2
- name: install htslib
run: ./scripts/install-hts.sh
- name: test
run: make test
ubuntu_16:
name: Ubuntu 16
runs-on: ubuntu-22.04
container:
image: ubuntu:16.04
volumes:
- /node20217:/node20217:rw,rshared
- /node20217:/__e/node20:ro,rshared
steps:
- name: install packages
run: apt-get update && apt-get install -y zlib1g-dev gcc g++ autoconf automake make wget curl bzip2
- name: nodejs
run: |
apt-get install -y wget xz-utils
wget https://unofficial-builds.nodejs.org/download/release/v20.9.0/node-v20.9.0-linux-x64-glibc-217.tar.xz
tar -xf node-v20.9.0-linux-x64-glibc-217.tar.xz --strip-components 1 -C /node20217
- uses: actions/checkout@v2
- name: install htslib
run: ./scripts/install-hts.sh
- name: test
run: make test
ubuntu_18:
name: Ubuntu 18
runs-on: ubuntu-22.04
container:
image: ubuntu:18.04
volumes:
- /node20217:/node20217:rw,rshared
- /node20217:/__e/node20:ro,rshared
steps:
- name: Install sudo package
run: apt update && apt install sudo
- name: install packages
run: sudo apt-get update && sudo apt-get install -y zlib1g-dev gcc g++ autoconf automake make wget curl
- name: nodejs
run: |
apt-get install -y wget xz-utils
wget https://unofficial-builds.nodejs.org/download/release/v20.9.0/node-v20.9.0-linux-x64-glibc-217.tar.xz
tar -xf node-v20.9.0-linux-x64-glibc-217.tar.xz --strip-components 1 -C /node20217
- uses: actions/checkout@v2
- name: install htslib
run: ./scripts/install-hts.sh
- name: test
run: make test
ubuntu_20:
name: Ubuntu 20
runs-on: ubuntu-22.04
container: ubuntu:20.04
steps:
- uses: actions/checkout@v2
- name: Install sudo package
run: apt update && apt install sudo
- name: install packages
run: sudo apt-get update && sudo apt-get install -y zlib1g-dev gcc g++ autoconf automake make wget curl
- name: install htslib
run: ./scripts/install-hts.sh
- name: test
run: make test
ubuntu_22:
name: Ubuntu 22
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
- name: install packages
run: sudo apt-get update && sudo apt-get install -y zlib1g-dev gcc g++ autoconf automake make wget curl
- name: install htslib
run: ./scripts/install-hts.sh
- name: test
run: make test
- name: install valgrind
run: sudo apt-get install -y valgrind
- name: memtest
run: make memtest
- name: install clang
run: sudo apt-get install -y clang
- name: build-clang
run: make clean && make CC=clang -j8
- name: test-clang
run: make test
# ubuntu_20_icc:
# name: Ubuntu 20 icc
# runs-on: ubuntu-20.04
# steps:
# - uses: actions/checkout@v2
# with:
# submodules: recursive
# - name: Intel Apt repository
# timeout-minutes: 1
# run: |
# wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
# sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
# rm GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
# echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
# sudo apt-get update
# - name: install packages
# run: sudo apt-get install -y zlib1g-dev libzstd-dev intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic
# - name: install htslib
# run: ./scripts/install-hts.sh
# - name: Setup Intel oneAPI environment
# run: |
# source /opt/intel/oneapi/setvars.sh
# printenv >> $GITHUB_ENV
# - name: build
# run: make CC=icc -j8
# - name: test
# run: make test
# os_x_11: # deprecated
# name: OSX 11
# runs-on: macos-11
# steps:
# - uses: actions/checkout@v2
# - name: install htslib
# run: ./scripts/install-hts.sh
# - name: build
# run: make -j8
# - name: test
# run: make test
# os_x_12: # deprecated
# name: OSX 12
# runs-on: macos-12
# steps:
# - uses: actions/checkout@v2
# - name: install htslib
# run: ./scripts/install-hts.sh
# - name: build
# run: make -j8
# - name: test
# run: make test
os_x_14:
name: OSX 14
runs-on: macos-14
steps:
- uses: actions/checkout@v2
- name: install htslib
run: ./scripts/install-hts.sh
- name: build
run: make -j8
- name: test
run: make test
arm64:
name: ubuntu arm
runs-on: ubuntu-latest
steps:
- run: docker run --rm --privileged multiarch/qemu-user-static:register --reset
- uses: docker://multiarch/ubuntu-core:arm64-bionic
with:
args: 'uname -a'
- uses: actions/checkout@v1
- uses: docker://multiarch/ubuntu-core:arm64-bionic
with:
args: >
bash -c "apt-get update &&
apt-get install -y zlib1g-dev gcc make wget curl &&
ldd --version && gcc --version &&
./scripts/install-hts.sh && make && make test"