-
Notifications
You must be signed in to change notification settings - Fork 32
54 lines (50 loc) · 2.1 KB
/
linux_machine_gcc.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
name: Linux build
on: [push, pull_request]
jobs:
gcc-build-and-test:
runs-on: ubuntu-20.04
services:
mysql:
image: mysql:5.7
env:
MYSQL_ALLOW_EMPTY_PASSWORD: yes
MYSQL_USER: test_user
MYSQL_PASSWORD: password
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: test_db
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Update OS repositories
run: sudo apt-get update
- name: Setup test environment
run: sudo apt-get -y install make g++ git python3 python3-matplotlib qt5-default libqt5xmlpatterns5-dev libqt5sql5-mysql libqt5charts5-dev libbz2-dev libqt5svg5-dev liblzma-dev zlib1g-dev libcurl4 libcurl4-openssl-dev ca-certificates sqlite3 libqt5sql5-sqlite
- name: Create symlink for python
run: sudo ln -fs /bin/python3 /bin/python
- name: Update submodules
run: git submodule update --recursive --init
- name: Create settings for running tests
run: .github/workflows/settings.sh
shell: bash
- name: Build dependencies
run: make build_3rdparty build_libs_release build_tools_release build_gui_release build_server_release
- name: Create a folder for SSL
run: mkdir -p $HOME/ssl
shell: bash
- name: Generate SSL certificate-key pair
run: openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -subj "/C=DE/ST=BW/L=Tuebingen/O=test-certificate/CN=localhost" -keyout $HOME/ssl/test-key.key -out $HOME/ssl/test-cert.crt
- name: Add new certificates to the list of trusted certificates
run: sudo cp $HOME/ssl/test-cert.crt /usr/local/share/ca-certificates
- name: Update the list of certificates
run: sudo update-ca-certificates
- name: Download test files
run: make download_test_files
- name: Start GSvar server and run tests
run: |
bin/GSvarServer &
make -k test_lib test_server test_tools