374 lines
8.3 KiB
YAML
374 lines
8.3 KiB
YAML
variables:
|
|
DEBIAN_FRONTEND: noninteractive
|
|
|
|
stages:
|
|
- build
|
|
- unit_test
|
|
- hardware_test
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# Windows
|
|
#-------------------------------------------------------------------------------
|
|
|
|
build windows/x64:
|
|
stage: build
|
|
script:
|
|
- CMD.EXE /C ci\build-windows64.bat
|
|
artifacts:
|
|
when: always
|
|
paths:
|
|
- build
|
|
expire_in: 3 days
|
|
tags:
|
|
- icsneo-windows
|
|
|
|
unit_test windows/x64:
|
|
stage: unit_test
|
|
script:
|
|
- build\libicsneo-unit-tests.exe
|
|
dependencies:
|
|
- build windows/x64
|
|
needs:
|
|
- build windows/x64
|
|
tags:
|
|
- icsneo-windows
|
|
timeout: 5m
|
|
|
|
build windows/x86:
|
|
stage: build
|
|
script:
|
|
- CMD.EXE /C ci\build-windows32.bat
|
|
artifacts:
|
|
when: always
|
|
paths:
|
|
- build
|
|
expire_in: 3 days
|
|
tags:
|
|
- icsneo-windows
|
|
|
|
unit_test windows/x86:
|
|
stage: unit_test
|
|
script:
|
|
- build\libicsneo-unit-tests.exe
|
|
dependencies:
|
|
- build windows/x86
|
|
needs:
|
|
- build windows/x86
|
|
tags:
|
|
- icsneo-windows
|
|
timeout: 5m
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# Ubuntu
|
|
#-------------------------------------------------------------------------------
|
|
|
|
.build_linux_ubuntu_gcc: &build_linux_ubuntu_gcc
|
|
stage: build
|
|
script:
|
|
- apt update -y
|
|
- apt upgrade -y
|
|
- apt install -y g++ ninja-build cmake libusb-1.0-0-dev libpcap-dev git
|
|
- sh ci/build-posix.sh
|
|
artifacts:
|
|
when: always
|
|
paths:
|
|
- build
|
|
expire_in: 3 days
|
|
tags:
|
|
- linux-build
|
|
|
|
.test_linux_ubuntu_gcc: &test_linux_ubuntu_gcc
|
|
stage: unit_test
|
|
script:
|
|
- apt update -y
|
|
- apt upgrade -y
|
|
- apt install -y libusb-1.0-0-dev libpcap-dev
|
|
- build/libicsneo-unit-tests
|
|
tags:
|
|
- linux-build
|
|
timeout: 5m
|
|
|
|
.build_linux_ubuntu_clang: &build_linux_ubuntu_clang
|
|
stage: build
|
|
script:
|
|
- apt update -y
|
|
- apt upgrade -y
|
|
- apt install -y clang lld ninja-build cmake libusb-1.0-0-dev libpcap-dev git
|
|
- CC=clang CXX=clang++ LDFLAGS=-fuse-ld=lld sh ci/build-posix.sh
|
|
artifacts:
|
|
when: always
|
|
paths:
|
|
- build
|
|
expire_in: 3 days
|
|
tags:
|
|
- linux-build
|
|
|
|
.test_linux_ubuntu_clang: &test_linux_ubuntu_clang
|
|
stage: unit_test
|
|
script:
|
|
- apt update -y
|
|
- apt upgrade -y
|
|
- apt install -y libusb-1.0-0-dev libpcap-dev
|
|
- build/libicsneo-unit-tests
|
|
tags:
|
|
- linux-build
|
|
timeout: 5m
|
|
|
|
build linux/ubuntu/2004/amd64/gcc:
|
|
<<: *build_linux_ubuntu_gcc
|
|
image: ubuntu:20.04
|
|
|
|
unit_test linux/ubuntu/2004/amd64/gcc:
|
|
<<: *test_linux_ubuntu_gcc
|
|
image: ubuntu:20.04
|
|
dependencies:
|
|
- build linux/ubuntu/2004/amd64/gcc
|
|
needs:
|
|
- build linux/ubuntu/2004/amd64/gcc
|
|
|
|
build linux/ubuntu/2004/amd64/clang:
|
|
<<: *build_linux_ubuntu_clang
|
|
image: ubuntu:20.04
|
|
|
|
unit_test linux/ubuntu/2004/amd64/clang:
|
|
<<: *test_linux_ubuntu_clang
|
|
image: ubuntu:20.04
|
|
dependencies:
|
|
- build linux/ubuntu/2004/amd64/clang
|
|
needs:
|
|
- build linux/ubuntu/2004/amd64/clang
|
|
|
|
build linux/ubuntu/2204/amd64/gcc:
|
|
<<: *build_linux_ubuntu_gcc
|
|
image: ubuntu:22.04
|
|
|
|
unit_test linux/ubuntu/2204/amd64/gcc:
|
|
<<: *test_linux_ubuntu_gcc
|
|
image: ubuntu:22.04
|
|
dependencies:
|
|
- build linux/ubuntu/2204/amd64/gcc
|
|
needs:
|
|
- build linux/ubuntu/2204/amd64/gcc
|
|
|
|
build linux/ubuntu/2204/amd64/clang:
|
|
<<: *build_linux_ubuntu_clang
|
|
image: ubuntu:22.04
|
|
|
|
unit_test linux/ubuntu/2204/amd64/clang:
|
|
<<: *test_linux_ubuntu_clang
|
|
image: ubuntu:22.04
|
|
dependencies:
|
|
- build linux/ubuntu/2204/amd64/clang
|
|
needs:
|
|
- build linux/ubuntu/2204/amd64/clang
|
|
|
|
#-------------------------------------------------------------------------------
|
|
# Fedora
|
|
#-------------------------------------------------------------------------------
|
|
|
|
.build_linux_fedora_gcc: &build_linux_fedora_gcc
|
|
stage: build
|
|
cache:
|
|
paths:
|
|
- /var/cache/dnf
|
|
script:
|
|
- echo max_parallel_downloads=10 >>/etc/dnf/dnf.conf
|
|
- echo fastestmirror=True >>/etc/dnf/dnf.conf
|
|
- dnf upgrade -y
|
|
- dnf install -y g++ libpcap-devel cmake ninja-build libusb1-devel git
|
|
- sh ci/build-posix.sh
|
|
artifacts:
|
|
when: always
|
|
paths:
|
|
- build
|
|
expire_in: 3 days
|
|
tags:
|
|
- linux-build
|
|
|
|
.test_linux_fedora_gcc: &test_linux_fedora_gcc
|
|
stage: unit_test
|
|
cache:
|
|
paths:
|
|
- /var/cache/dnf
|
|
script:
|
|
- echo max_parallel_downloads=10 >>/etc/dnf/dnf.conf
|
|
- echo fastestmirror=True >>/etc/dnf/dnf.conf
|
|
- dnf upgrade -y
|
|
- dnf install -y libpcap-devel libusb1-devel
|
|
- build/libicsneo-unit-tests
|
|
tags:
|
|
- linux-build
|
|
timeout: 5m
|
|
|
|
.build_linux_fedora_clang: &build_linux_fedora_clang
|
|
stage: build
|
|
cache:
|
|
paths:
|
|
- /var/cache/dnf
|
|
script:
|
|
- echo max_parallel_downloads=10 >>/etc/dnf/dnf.conf
|
|
- echo fastestmirror=True >>/etc/dnf/dnf.conf
|
|
- dnf upgrade -y
|
|
- dnf install -y clang lld libpcap-devel cmake ninja-build libusb1-devel git
|
|
- CC=clang CXX=clang++ LDFLAGS=-fuse-ld=lld sh ci/build-posix.sh
|
|
artifacts:
|
|
when: always
|
|
paths:
|
|
- build
|
|
expire_in: 3 days
|
|
tags:
|
|
- linux-build
|
|
|
|
.test_linux_fedora_clang: &test_linux_fedora_clang
|
|
stage: unit_test
|
|
cache:
|
|
paths:
|
|
- /var/cache/dnf
|
|
script:
|
|
- echo max_parallel_downloads=10 >>/etc/dnf/dnf.conf
|
|
- echo fastestmirror=True >>/etc/dnf/dnf.conf
|
|
- dnf upgrade -y
|
|
- dnf install -y libpcap-devel libusb1-devel
|
|
- build/libicsneo-unit-tests
|
|
tags:
|
|
- linux-build
|
|
timeout: 5m
|
|
|
|
build linux/fedora/37/amd64/gcc:
|
|
<<: *build_linux_fedora_gcc
|
|
image: fedora:37
|
|
|
|
unit_test linux/fedora/37/amd64/gcc:
|
|
<<: *test_linux_fedora_gcc
|
|
image: fedora:37
|
|
dependencies:
|
|
- build linux/fedora/37/amd64/gcc
|
|
needs:
|
|
- build linux/fedora/37/amd64/gcc
|
|
|
|
build linux/fedora/37/amd64/clang:
|
|
<<: *build_linux_fedora_clang
|
|
image: fedora:37
|
|
|
|
unit_test linux/fedora/37/amd64/clang:
|
|
<<: *test_linux_fedora_clang
|
|
image: fedora:37
|
|
dependencies:
|
|
- build linux/fedora/37/amd64/clang
|
|
needs:
|
|
- build linux/fedora/37/amd64/clang
|
|
|
|
build linux/fedora/38/amd64/gcc:
|
|
<<: *build_linux_fedora_gcc
|
|
image: fedora:38
|
|
|
|
unit_test linux/fedora/38/amd64/gcc:
|
|
<<: *test_linux_fedora_gcc
|
|
image: fedora:38
|
|
dependencies:
|
|
- build linux/fedora/38/amd64/gcc
|
|
needs:
|
|
- build linux/fedora/38/amd64/gcc
|
|
|
|
build linux/fedora/38/amd64/clang:
|
|
<<: *build_linux_fedora_clang
|
|
image: fedora:38
|
|
|
|
unit_test linux/fedora/38/amd64/clang:
|
|
<<: *test_linux_fedora_clang
|
|
image: fedora:38
|
|
dependencies:
|
|
- build linux/fedora/38/amd64/clang
|
|
needs:
|
|
- build linux/fedora/38/amd64/clang
|
|
|
|
build linux/fedora/39/amd64/gcc:
|
|
<<: *build_linux_fedora_gcc
|
|
image: fedora:39
|
|
|
|
unit_test linux/fedora/39/amd64/gcc:
|
|
<<: *test_linux_fedora_gcc
|
|
image: fedora:39
|
|
dependencies:
|
|
- build linux/fedora/39/amd64/gcc
|
|
needs:
|
|
- build linux/fedora/39/amd64/gcc
|
|
|
|
build linux/fedora/39/amd64/clang:
|
|
<<: *build_linux_fedora_clang
|
|
image: fedora:39
|
|
|
|
unit_test linux/fedora/39/amd64/clang:
|
|
<<: *test_linux_fedora_clang
|
|
image: fedora:39
|
|
dependencies:
|
|
- build linux/fedora/39/amd64/clang
|
|
needs:
|
|
- build linux/fedora/39/amd64/clang
|
|
|
|
.hw_test: &hw_test
|
|
stage: hardware_test
|
|
tags:
|
|
- libicsneo_hil
|
|
timeout: 5m
|
|
script:
|
|
- echo $GUEST_OS_TAG
|
|
- echo $DEVICE_PORT
|
|
- /opt/libvirt-driver/prepare.sh
|
|
- /opt/libvirt-driver/run.sh
|
|
after_script:
|
|
- /opt/libvirt-driver/cleanup.sh
|
|
|
|
hardware_test system-test-fedora38-red2:
|
|
<<: *hw_test
|
|
variables:
|
|
GUEST_OS_TAG: fedora38
|
|
DEVICE_PORT: ETH_A
|
|
needs:
|
|
- job: build linux/fedora/38/amd64/clang
|
|
artifacts: true
|
|
|
|
hardware_test system-test-fedora38-vcan42:
|
|
<<: *hw_test
|
|
variables:
|
|
GUEST_OS_TAG: fedora38
|
|
DEVICE_PORT: USB_D
|
|
needs:
|
|
- job: build linux/fedora/38/amd64/clang
|
|
artifacts: true
|
|
|
|
hardware_test system-test-ubuntu2204-red2:
|
|
<<: *hw_test
|
|
variables:
|
|
GUEST_OS_TAG: ubuntu22.04
|
|
DEVICE_PORT: ETH_A
|
|
needs:
|
|
- job: build linux/ubuntu/2204/amd64/clang
|
|
artifacts: true
|
|
|
|
hardware_test system-test-ubuntu2204-vcan42:
|
|
<<: *hw_test
|
|
variables:
|
|
GUEST_OS_TAG: ubuntu22.04
|
|
DEVICE_PORT: USB_D
|
|
needs:
|
|
- job: build linux/ubuntu/2204/amd64/clang
|
|
artifacts: true
|
|
|
|
hardware_test system-test-win10-red2:
|
|
<<: *hw_test
|
|
variables:
|
|
GUEST_OS_TAG: win10
|
|
DEVICE_PORT: ETH_A
|
|
needs:
|
|
- job: build windows/x64
|
|
artifacts: true
|
|
|
|
hardware_test system-test-win10-vcan42:
|
|
<<: *hw_test
|
|
variables:
|
|
GUEST_OS_TAG: win10
|
|
DEVICE_PORT: USB_D
|
|
needs:
|
|
- job: build windows/x64
|
|
artifacts: true |