Refactor: Cleanup for pre-commit
[ci-management.git] / packer / provision / local-builder.yaml
index 3460981..c12259f 100644 (file)
 
     - name: Update and upgrade apt packages
       apt:
-        upgrade: 'yes'
-        update_cache: yes
+        upgrade: "yes"
+        update_cache: true
       become: true
       when: ansible_distribution == 'Ubuntu'
 
-    - name: Install python-tox and deps
-      pip:
-        name:
-          - tox
-          - tox-pyenv
-          - virtualenv
-          - more-itertools~=5.0.0
-          - zipp==1.0.0
-        state: present
-      become: true
-
     - name: Install Python 3.6 and packages
       apt:
         name:
       become: true
       when: ansible_distribution == 'Ubuntu'
 
-    - name: Install libssl1.0-dev dep
+    - name: Install Python 3.8
       apt:
-        name: libssl1.0-dev
-        update_cache: yes
-        state: fixed
+        name:
+          - python3.8
+          - python3.8-dev
+          - python3.8-tk
       become: true
-      when: ansible_distribution == 'Ubuntu' and ansible_distribution_version == '18.04'
+      when: ansible_distribution == 'Ubuntu'
 
-    - name: Install nodejs-dev dep for npm
+    - name: Install Python 3.9
       apt:
-        name: nodejs-dev
-        update_cache: yes
-        state: fixed
+        name:
+          - python3.9
+          - python3.9-dev
+          - python3.9-tk
+          - python3.9-distutils
       become: true
       when: ansible_distribution == 'Ubuntu'
 
-    - name: Install base packages
+    - 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
           - 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
-          - python-ncclient
-        update_cache: yes
+          - 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 and addon packages
+    - name: Install npm build tools
       apt:
-        name:
-          - nodejs
-          - npm
-          - node-gyp
-        update_cache: yes
+        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'