--- - name: install jenkins packages include: debian.yml when: ansible_distribution == 'Debian' - name: install build utilities apt: name: "{{ item }}" cache_valid_time: 3600 update_cache: yes with_items: - asciidoc - autoconf - autoconf-archive - automake - bc - bison - coccinelle - cppcheck - debhelper - devscripts - dh-autoreconf - dh-systemd - doxygen - flex - g++ - gawk - gcc - gcc-arm-none-eabi - git - git-buildpackage - graphviz - libtool - libboost-all-dev - make - mscgen - osc - pkgconf - python-minimal - python-setuptools - python3 - python3-setuptools - stow - texinfo # by gsm-manuals - python-nwdiag - python-pychart - name: install build dependencies and libraries apt: name: "{{ item }}" cache_valid_time: 3600 update_cache: yes install_recommends: no with_items: - docbook5-xml - libboost-dev - libc-ares-dev - libdbd-sqlite3 - libdbi-dev - libffi-dev - libffi-dev - libfftw3-dev - libgmp-dev - libgnutls28-dev - libgps-dev - libgsm1-dev - libmnl-dev - libncurses5-dev - libortp-dev - libpcap-dev - libpcsclite-dev - libreadline-dev - libsctp-dev - libsigsegv-dev - libsnmp-dev - libsofia-sip-ua-glib-dev - libsqlite3-dev - libssl-dev - libsystemd-dev - libtalloc-dev - libuhd-dev - libusb-1.0-0-dev - libusb-dev - libzmq3-dev - sqlite3 - name: add user jenkins user: name: "{{ jenkins_user }}" generate_ssh_key: yes ssh_key_bits: 4096 ssh_key_type: rsa shell: /bin/bash - name: setup jenkins ssh key authorized_key: user: "{{ jenkins_user }}" key: "{{ lookup('file', 'jenkins.osmocom.org.pub') }}" - name: include generic slave include: generic-slave.yml when: generic_slave - name: install ttcn3 dependencies include: ttcn3-slave.yml when: ttcn3_slave and ansible_distribution == 'Debian' and ansible_distribution_release == 'stretch' - name: copy .gitconfig copy: src: gitconfig dest: "/home/{{ jenkins_user }}/.gitconfig" - name: call fstrim periodically cron: name: "fstrim" hour: "*/12" minute: 0 job: "fstrim / >/dev/null 2>/dev/null || true" when: osmocom_jenkins_slave_fstrim