Chore: Install latest Meson package
[ci-management.git] / packer / provision / local-builder.yaml
1 ---
2 - import_playbook: ../common-packer/provision/baseline.yaml
3
4 - hosts: all
5   become_user: root
6   become_method: sudo
7
8   pre_tasks:
9     - include_role: name=lfit.system-update
10
11   tasks:
12     - name: 'Enable hugepages'
13       sysctl:
14         name: vm.nr_hugepages
15         value: '128'
16         reload: no
17       when: ansible_distribution == 'Ubuntu'
18       become: true
19
20     - name: 'Install PackageCloud'
21       command: 'gem install package_cloud'
22       when: ansible_distribution == 'Ubuntu'
23       become: true
24
25     - apt_repository:
26         repo: ppa:deadsnakes/ppa
27         state: present
28       become: true
29       when: ansible_distribution == 'Ubuntu'
30
31     - name: Update and upgrade apt packages
32       apt:
33         upgrade: 'yes'
34         update_cache: yes
35       become: true
36       when: ansible_distribution == 'Ubuntu'
37
38     - name: Install python-tox and deps
39       pip:
40         name:
41           - tox
42           - tox-pyenv
43           - virtualenv
44           - meson==0.59.0
45         state: present
46       become: true
47
48     - name: 'Install TLDK Packages'
49       apt:
50         name:
51           - libaprutil1-dev
52           - libc-dev-bin
53           - libc6-dev
54           - libcap-dev
55           - libcrypt-dev
56           - libexpat1-dev
57           - libldap2-dev
58           - libsctp-dev
59           - libsctp1
60           - libserf-1-1
61           - libsvn1
62           - linux-libc-dev
63           - python3-pyelftools
64           - python3-scapy
65           - libnuma-dev
66       when: ansible_distribution == 'Ubuntu'
67       become: true
68
69   roles:
70     - lfit.mono-install
71
72   post_tasks:
73     - name: System Reseal
74       script: ../common-packer/provision/system-reseal.sh
75       become: true