summaryrefslogtreecommitdiffstats
path: root/packer/provision/local-builder.yaml
blob: c12259f5dda463142eb9175c02910c3f452b097d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
---
- import_playbook: ../common-packer/provision/baseline.yaml

- hosts: all
  become_user: root
  become_method: sudo

  tasks:
    - apt_repository:
        repo: ppa:deadsnakes/ppa
        state: present
      become: true
      when: ansible_distribution == 'Ubuntu'

    - name: Update and upgrade apt packages
      apt:
        upgrade: "yes"
        update_cache: true
      become: true
      when: ansible_distribution == 'Ubuntu'

    - name: Install Python 3.6 and packages
      apt:
        name:
          - python3.6
          - python3.6-dev
          - python3.6-tk
          - libssl-dev
          - libmysqlclient-dev
          - gcc
          - python3-venv
      become: true
      when: ansible_distribution == 'Ubuntu'

    - name: Install Python 3.7
      apt:
        name:
          - python3.7
          - python3.7-dev
          - python3.7-tk
      become: true
      when: ansible_distribution == 'Ubuntu'

    - name: Install Python 3.8
      apt:
        name:
          - python3.8
          - python3.8-dev
          - python3.8-tk
      become: true
      when: ansible_distribution == 'Ubuntu'

    - name: Install Python 3.9
      apt:
        name:
          - python3.9
          - python3.9-dev
          - python3.9-tk
          - python3.9-distutils
      become: true
      when: ansible_distribution == 'Ubuntu'

    - name: Install libssl1.0-dev dep
      apt:
        name: libssl1.0-dev
        update_cache: true
        state: fixed
      become: true
      when: ansible_distribution == 'Ubuntu' and ansible_distribution_version == '18.04'

    - name: Install supporting packages (Ubuntu 18.04)
      apt:
        name:
          - unzip
          - xz-utils
          - libxml-xpath-perl
          - wget
          - make
          - sshuttle
          - netcat
          - libssl-dev
          - libffi-dev
          - xmlstarlet
          - xvfb
          - crudini
          - maven
          - python-ncclient
        update_cache: true
        state: fixed
      become: true
      when: ansible_distribution == 'Ubuntu' and ansible_distribution_version == '18.04'

    - name: Install supporting packages (Ubuntu 20.04)
      apt:
        name:
          - unzip
          - xz-utils
          - libxml-xpath-perl
          - wget
          - make
          - sshuttle
          - netcat
          - libssl-dev
          - libffi-dev
          - xmlstarlet
          - xvfb
          - crudini
          - maven
          - python3-ncclient
        update_cache: true
        state: fixed
      become: true
      when: ansible_distribution == 'Ubuntu' and ansible_distribution_version == '20.04'

    - name: Install nodejs and npm
      block:
        - name: "Pull latest nodejs version"
          shell: |
            curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - && sudo apt-get install -y nodejs
          become: true
        - name: "Check nodejs version"
          command: node --version
        - name: "Check npm version"
          command: npm --version
      when: ansible_distribution == 'Ubuntu'

    - name: Install npm build tools
      apt:
        name: build-essential
        update_cache: true
        state: fixed
      become: true
      when: ansible_distribution == 'Ubuntu'

    - name: Install enchant2 package for Ubuntu 20.04
      apt:
        name:
          - enchant-2
        update_cache: true
        state: present
      become: true
      when: ansible_distribution == 'Ubuntu' and ansible_distribution_version == '20.04'

    - name: Install enchant package for Ubuntu 18.04
      apt:
        name:
          - enchant
        update_cache: true
        state: present
      become: true
      when: ansible_distribution == 'Ubuntu' and ansible_distribution_version == '18.04'

    - name: Install enchant2 package for CentOS
      dnf:
        name:
          - enchant2
        update_cache: true
        state: present
      become: true
      when: ansible_distribution == 'CentOS'