--- # Copyright 2019, Rackspace US, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - name: Gather variables for each operating system include_vars: "{{ item }}" with_first_found: - "{{ ansible_distribution | lower }}-{{ ansible_distribution_version | lower }}.yml" - "{{ ansible_distribution | lower }}-{{ ansible_distribution_major_version | lower }}.yml" - "{{ ansible_os_family | lower }}-{{ ansible_distribution_major_version | lower }}.yml" - "{{ ansible_distribution | lower }}.yml" - "{{ ansible_os_family | lower }}-{{ ansible_distribution_version.split('.')[0] }}.yml" - "{{ ansible_os_family | lower }}.yml" tags: - always - name: Ensure build libraries are installed package: name: "{{ sykdive_build_distro_packages }}" state: "present" update_cache: "{{ (ansible_pkg_mgr == 'apt') | ternary('yes', omit) }}" register: _package_task until: _package_task is success retries: 3 delay: 2 tags: - package_install - name: Ensure traefik-project directory exists file: path: "{{ traefik_build_project_path }}/github.com/containous/traefik" state: directory - name: Get the traefik archive git: dest: "{{ traefik_build_project_path }}/github.com/containous/traefik" repo: https://github.com/containous/traefik.git force: yes track_submodules: yes clone: yes update: yes recursive: yes version: "{{ traefik_build_version }}" - name: Go get traefik bin-data shell: | source /etc/default/go export PATH="{{ traefik_build_go_path }}/bin:${PATH}" export GOPATH="{{ traefik_build_go_path }}" go get github.com/containous/go-bindata/... args: chdir: "{{ traefik_build_project_path }}/github.com/containous/traefik" executable: "/bin/bash" creates: "{{ traefik_build_project_path }}/github.com/containous/traefik/traefik" - name: Go generate traefik shell: | source /etc/default/go export PATH="{{ traefik_build_go_path }}/bin:${PATH}" export GOPATH="{{ traefik_build_go_path }}" go generate args: chdir: "{{ traefik_build_project_path }}/github.com/containous/traefik" executable: "/bin/bash" creates: "{{ traefik_build_project_path }}/github.com/containous/traefik/traefik" - name: Go build traefik shell: | source /etc/default/go export PATH="{{ traefik_build_go_path }}/bin:${PATH}" export GOPATH="{{ traefik_build_go_path }}" go build ./cmd/traefik args: chdir: "{{ traefik_build_project_path }}/github.com/containous/traefik" executable: "/bin/bash" creates: "{{ traefik_build_project_path }}/github.com/containous/traefik/traefik"