Add Python 3.7 to CI Nodes
[ci-management.git] / packer / provision / local-builder.yaml
index a3f2c03..10c3c40 100644 (file)
@@ -5,19 +5,76 @@
   become_user: root
   become_method: sudo
 
-  roles:
-    - protobuf-install
-
   tasks:
-    - name: Install Docker-Compose
-      shell: |
-        virtualenv $WORKSPACE/venv
-        source $WORKSPACE/venv/bin/activate
-        PYTHON="$WORKSPACE/venv/bin/python"
-        $PYTHON -m pip install --upgrade pip
-        $PYTHON -m pip install docker-compose
-
-  post_tasks:
-    - name: System Reseal
-      script: ../common-packer/provision/system-reseal.sh
+    - apt_repository:
+        repo: ppa:jonathonf/python-3.6
+        state: present
+      become: true
+      when: ansible_distribution == 'Ubuntu'
+
+    - 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: yes
+      become: true
+      when: ansible_distribution == 'Ubuntu'
+
+    - name: Install python-tox
+      pip:
+        name: tox
+        state: present
+      become: true
+
+    - name: Install Python 3.6 and packages
+      apt:
+        name:
+          - python3.6
+          - python3.6-dev
+          - python3.6-tk
+          - libssl-dev
+          - libmysqlclient-dev
+          - gcc
+      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 base packages
+      apt:
+        name:
+          - unzip
+          - xz-utils
+          - libxml-xpath-perl
+          - wget
+          - make
+          - npm
+          - sshuttle
+          - netcat
+          - libssl-dev
+          - libffi-dev
+      become: true
+      when: ansible_distribution == 'Ubuntu'
+
+    - name: Install autorelease support packages
+      apt:
+        name:
+          - xmlstarlet
+          - xvfb
+          - crudini
+          - maven
+          - python-ncclient
       become: true
+      when: ansible_distribution == 'Ubuntu'