1
0
Fork 0
mirror of https://github.com/pavel-odintsov/fastnetmon synced 2024-06-02 06:36:21 +02:00
fastnetmon-rewritten/.circleci/config.yml
2022-04-21 20:36:12 +01:00

227 lines
9.3 KiB
YAML

version: 2.1
parameters:
fastnetmon_build_version:
type: string
default: "1.2.1"
jobs:
build_ubuntu:
parameters:
docker_image:
type: string
ubuntu_version:
type: string
docker:
- image: << parameters.docker_image >>
resource_class: large
steps:
- checkout
- run: apt-get update; true
- run: apt-get install -y perl wget python3-pip
- run: pip3 install s3cmd
- run:
name: install_required_packages
no_output_timeout: 20m
command: perl src/fastnetmon_build.pl --install_dependency_packages_only
- restore_cache:
keys:
- "{{ .Environment.CIRCLE_JOB }}_dependencies_31_10_2020"
- restore_cache:
keys:
- "{{ .Environment.CIRCLE_JOB }}_gcc_25_10_2020"
- run:
name: install_gcc
no_output_timeout: 120m
command: perl src/fastnetmon_build.pl --build_gcc_only
- save_cache:
key: "{{ .Environment.CIRCLE_JOB }}_gcc_25_10_2020"
paths:
- /opt/gcc930
- run:
name: install_dependencies
no_output_timeout: 180m
command: perl src/fastnetmon_build.pl --build_dependencies_only
- run:
name: collect_debug
command: cat /tmp/fastnetmon_install.log
when: on_fail
- save_cache:
key: "{{ .Environment.CIRCLE_JOB }}_dependencies_31_10_2020"
paths:
- /opt
- run: perl src/fastnetmon_build.pl --use-git-master --build_fastnetmon_only
- run: perl src/scripts/build_libary_bundle.pl /opt/fastnetmon_libraries_bundle.tar.gz
- store_artifacts:
path: /opt/fastnetmon_libraries_bundle.tar.gz
- store_artifacts:
path: /tmp/fastnetmon_install.log
- run: src/scripts/build_any_package.pl deb /opt/fastnetmon_libraries_bundle.tar.gz << pipeline.parameters.fastnetmon_build_version >> ubuntu << parameters.ubuntu_version >>
- store_artifacts:
path: /tmp/fastnetmon_<< pipeline.parameters.fastnetmon_build_version >>_amd64.deb
- run: s3cmd --disable-multipart --host=storage.googleapis.com --host-bucket="%(bucket).storage.googleapis.com" put /tmp/fastnetmon_<< pipeline.parameters.fastnetmon_build_version >>_amd64.deb s3://fastnetmon_community_packages/<< pipeline.parameters.fastnetmon_build_version >>/ubuntu/<< parameters.ubuntu_version >>/fastnetmon_<< pipeline.parameters.fastnetmon_build_version >>_amd64.deb
- run: cp src/fastnetmon.conf /etc/fastnetmon.conf
- run: ldd /opt/fastnetmon/fastnetmon
- run: ldd /opt/fastnetmon/fastnetmon_client
- run: ldd /opt/fastnetmon/fastnetmon_api_client
- run: /opt/fastnetmon/fastnetmon --configuration_check
build_debian:
parameters:
docker_image:
type: string
debian_version:
type: string
docker:
- image: << parameters.docker_image >>
resource_class: large
steps:
- checkout
- run: apt-get update; true
- run: apt-get install -y perl wget python3-pip
- run: pip3 install s3cmd
- run:
name: install_required_packages
no_output_timeout: 20m
command: perl src/fastnetmon_build.pl --install_dependency_packages_only
- restore_cache:
keys:
- "{{ .Environment.CIRCLE_JOB }}_dependencies_31_10_2020"
- restore_cache:
keys:
- "{{ .Environment.CIRCLE_JOB }}_gcc_25_10_2020"
- run:
name: install_gcc
no_output_timeout: 120m
command: perl src/fastnetmon_build.pl --build_gcc_only
- save_cache:
key: "{{ .Environment.CIRCLE_JOB }}_gcc_25_10_2020"
paths:
- /opt/gcc930
- run:
name: install_dependencies
no_output_timeout: 180m
command: perl src/fastnetmon_build.pl --build_dependencies_only
- run:
name: collect_debug
command: cat /tmp/fastnetmon_install.log
when: on_fail
- save_cache:
key: "{{ .Environment.CIRCLE_JOB }}_dependencies_31_10_2020"
paths:
- /opt
- run: perl src/fastnetmon_build.pl --use-git-master --build_fastnetmon_only
- run: perl src/scripts/build_libary_bundle.pl /opt/fastnetmon_libraries_bundle.tar.gz
- store_artifacts:
path: /opt/fastnetmon_libraries_bundle.tar.gz
- store_artifacts:
path: /tmp/fastnetmon_install.log
- run: src/scripts/build_any_package.pl deb /opt/fastnetmon_libraries_bundle.tar.gz << pipeline.parameters.fastnetmon_build_version >> debian << parameters.debian_version >>
- store_artifacts:
path: /tmp/fastnetmon_<< pipeline.parameters.fastnetmon_build_version >>_amd64.deb
- run: s3cmd --disable-multipart --host=storage.googleapis.com --host-bucket="%(bucket).storage.googleapis.com" put /tmp/fastnetmon_<< pipeline.parameters.fastnetmon_build_version >>_amd64.deb s3://fastnetmon_community_packages/<< pipeline.parameters.fastnetmon_build_version >>/debian/<< parameters.debian_version >>/fastnetmon_<< pipeline.parameters.fastnetmon_build_version >>_amd64.deb
- run: cp src/fastnetmon.conf /etc/fastnetmon.conf
- run: ldd /opt/fastnetmon/fastnetmon
- run: ldd /opt/fastnetmon/fastnetmon_client
- run: ldd /opt/fastnetmon/fastnetmon_api_client
build_centos:
parameters:
docker_image:
type: string
centos_version:
type: string
docker:
- image: << parameters.docker_image >>
resource_class: large
steps:
- checkout
- run: yum install -y perl wget python3-pip perl-Archive-Tar
- run: pip3 install s3cmd
- run:
name: install_required_packages
no_output_timeout: 20m
command: perl src/fastnetmon_build.pl --install_dependency_packages_only
- restore_cache:
keys:
- "{{ .Environment.CIRCLE_JOB }}_dependencies_31_10_2020"
- restore_cache:
keys:
- "{{ .Environment.CIRCLE_JOB }}_gcc_25_10_2020"
- run:
name: install_gcc
no_output_timeout: 120m
command: perl src/fastnetmon_build.pl --build_gcc_only
- save_cache:
key: "{{ .Environment.CIRCLE_JOB }}_gcc_25_10_2020"
paths:
- /opt/gcc930
- run:
name: install_dependencies
no_output_timeout: 180m
command: perl src/fastnetmon_build.pl --build_dependencies_only
- run:
name: collect_debug
command: cat /tmp/fastnetmon_install.log
when: on_fail
- save_cache:
key: "{{ .Environment.CIRCLE_JOB }}_dependencies_31_10_2020"
paths:
- /opt
- /usr/include/linux/pf_ring.h
- store_artifacts:
path: /tmp/fastnetmon_install.log
- run: perl src/fastnetmon_build.pl --use-git-master --build_fastnetmon_only
- run: perl src/scripts/build_libary_bundle.pl /opt/fastnetmon_libraries_bundle.tar.gz
- store_artifacts:
path: /opt/fastnetmon_libraries_bundle.tar.gz
- run: src/scripts/build_any_package.pl rpm /opt/fastnetmon_libraries_bundle.tar.gz << pipeline.parameters.fastnetmon_build_version >> centos << parameters.centos_version >>
- store_artifacts:
path: /tmp/result_data/fastnetmon-<< pipeline.parameters.fastnetmon_build_version >>-1.el<< parameters.centos_version >>.x86_64.rpm
- run: s3cmd --disable-multipart --host=storage.googleapis.com --host-bucket="%(bucket).storage.googleapis.com" put /tmp/result_data/fastnetmon-<< pipeline.parameters.fastnetmon_build_version >>-1.el<< parameters.centos_version >>.x86_64.rpm s3://fastnetmon_community_packages/<< pipeline.parameters.fastnetmon_build_version >>/centos/<< parameters.centos_version >>/fastnetmon-<< pipeline.parameters.fastnetmon_build_version >>-1.el<< parameters.centos_version >>.x86_64.rpm
- run: cp src/fastnetmon.conf /etc/fastnetmon.conf
- run: ldd /opt/fastnetmon/fastnetmon
- run: ldd /opt/fastnetmon/fastnetmon_client
- run: ldd /opt/fastnetmon/fastnetmon_api_client
- run: /opt/fastnetmon/fastnetmon --configuration_check
workflows:
version: 2
all_distros:
jobs:
- build_centos7:
docker_image: centos:centos7
centos_version: 7
name: "centos7"
- build_centos8:
docker_image: almalinux:8
centos_version: 8
name: "centos8"
- build_ubuntu:
docker_image: "ubuntu:jammy"
ubuntu_version: "22.04"
name: "ubuntu2204"
- build_ubuntu:
docker_image: "ubuntu:focal"
ubuntu_version: "20.04"
name: "ubuntu2004"
- build_ubuntu:
docker_image: "ubuntu:bionic"
ubuntu_version: "18.04"
name: "ubuntu1804"
- build_ubuntu:
docker_image: "ubuntu:xenial"
ubuntu_version: "16.04"
name: "ubuntu1604"
- build_ubuntu:
docker_image: "ubuntu:trusty"
ubuntu_version: "14.04"
name: "ubuntu1404"
- build_debian:
docker_image: "debian:stretch"
debian_version: "9"
name: "debian9"
- build_debian:
docker_image: "debian:buster"
debian_version: "10"
name: "debian10"
- build_debian:
docker_image: "debian:bullseye"
debian_version: "11"
name: "debian11"