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