-
-
Notifications
You must be signed in to change notification settings - Fork 99
/
main.yml
73 lines (65 loc) · 4.08 KB
/
main.yml
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
---
#########
# gcc_7 #
#########
- name: Check if gcc 7.5 is installed on RHEL/CentOS/Ubuntu16
shell: /usr/local/gcc/bin/gcc-7.5 --version 2>&1 > /dev/null
failed_when: false
register: gcc7_installed
when: ansible_distribution == "RedHat" or ansible_distribution == "Fedora" or ansible_distribution == "CentOS" or ansible_distribution == "openSUSE" or (ansible_architecture == "armv7l" and ((ansible_distribution == "Ubuntu" and ansible_distribution_major_version == "16") or ansible_distribution == "Debian")) or (ansible_distribution == "Ubuntu" and ansible_distribution_major_version | int >= 22)
changed_when: false
tags: gcc_7
- name: Configure gcc75 tarball extension on non-armv7l
set_fact: gccsuffix=xz
tags: gcc_7
when: ansible_architecture != "armv7l"
- name: Configure gcc75 tarball extension on armv7l
set_fact: gccsuffix=gz
tags: gcc_7
when: ansible_architecture == "armv7l"
- name: Download AdoptOpenJDK gcc-7.5.0 binary
get_url:
url: https://ci.adoptium.net/userContent/gcc/gcc750+ccache.{{ ansible_architecture }}.tar.{{ gccsuffix }}
dest: '/tmp/ansible-adoptopenjdk-gcc-7.tar.{{ gccsuffix }}'
force: no
mode: 0644
checksum: "sha256:{{ lookup('vars', 'csum_' + ansible_architecture + '_' + gccsuffix) }}"
when:
- ansible_distribution == "RedHat" or ansible_distribution == "Fedora" or ansible_distribution == "CentOS" or ansible_distribution == "openSUSE" or (ansible_architecture == "armv7l" and ((ansible_distribution == "Ubuntu" and ansible_distribution_major_version == "16") or ansible_distribution == "Debian")) or (ansible_distribution == "Ubuntu" and ansible_distribution_major_version | int >= 22)
- gcc7_installed.rc != 0
tags: gcc_7
- name: Extract AdoptOpenJDK gcc-7 binary to /usr/local/gcc
unarchive:
src: /tmp/ansible-adoptopenjdk-gcc-7.tar.{{ gccsuffix }}
dest: /usr/local/
copy: False
when:
- ansible_distribution == "RedHat" or ansible_distribution == "Fedora" or ansible_distribution == "CentOS" or ansible_distribution == "openSUSE" or (ansible_architecture == "armv7l" and ((ansible_distribution == "Ubuntu" and ansible_distribution_major_version == "16") or ansible_distribution == "Debian")) or (ansible_distribution == "Ubuntu" and ansible_distribution_major_version | int >= 22)
- gcc7_installed.rc != 0
tags: gcc_7
- name: Remove downloaded gcc 7 binary tarball
file:
path: '/tmp/ansible-adoptopenjdk-gcc-7.tar.{{ gccsuffix }}'
state: absent
when:
- ansible_distribution == "RedHat" or ansible_distribution == "Fedora" or ansible_distribution == "CentOS" or ansible_distribution == "openSUSE" or (ansible_architecture == "armv7l" and ((ansible_distribution == "Ubuntu" and ansible_distribution_major_version == "16") or ansible_distribution == "Debian")) or (ansible_distribution == "Ubuntu" and ansible_distribution_major_version | int >= 22)
- gcc7_installed.rc != 0
tags: gcc_7
# Stops buildng ccache from source when unnecessary
# See: https://github.com/adoptium/infrastructure/issues/1472
- name: Check if ccache is at /usr/local/bin/ccache
stat:
path: /usr/local/bin/ccache
register: ccache_symlink
when:
- ansible_distribution == "RedHat" or ansible_distribution == "Fedora" or ansible_distribution == "CentOS" or ansible_distribution == "openSUSE" or (ansible_architecture == "armv7l" and ((ansible_distribution == "Ubuntu" and ansible_distribution_major_version == "16") or ansible_distribution == "Debian")) or (ansible_distribution == "Ubuntu" and ansible_distribution_major_version | int >= 22)
tags: gcc_7
- name: Create symlink for ccache
file:
src: /usr/local/gcc/bin/ccache
dest: /usr/local/bin/ccache
state: link
when:
- ansible_distribution == "RedHat" or ansible_distribution == "Fedora" or ansible_distribution == "CentOS" or ansible_distribution == "openSUSE" or (ansible_architecture == "armv7l" and ((ansible_distribution == "Ubuntu" and ansible_distribution_major_version == "16") or ansible_distribution == "Debian")) or (ansible_distribution == "Ubuntu" and ansible_distribution_major_version | int >= 22)
- not ccache_symlink.stat.exists
tags: gcc_7