diff --git a/defaults/main.yml b/defaults/main.yml index 9825e4bf1b58aebf094dd63584423a549a6eb44f..d41ee9c6dec92f300525abd75ddf2b0fa8bfcde1 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1,5 +1,6 @@ --- # defaults file for ansible-role-idiv-template # filename on server julia-1.0.3-linux-x86_64.tar.gz -julia_version: 1.0.3 +julia_install: no +julia_version: 'latest' julia_installation_dir: '/usr/local' diff --git a/tasks/main.yml b/tasks/main.yml index a62cdea526fa7eff2a87ed74d39d2565e565c967..2eb521550f435ce8fefeedda27022cd6edf76dff 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -8,6 +8,27 @@ group: root mode: 0755 +- name: get latest julia release info from github + uri: + url: 'https://api.github.com/repos/JuliaLang/julia/releases/latest' + return_content: yes + register: julia_github_response + when: julia_version == 'latest' + +- name: exract latest julia release from variable + set_fact: + julia_version: "{{ julia_github_response.json.tag_name | replace('v', '') }}" + when: julia_version == 'latest' + +- name: exract minor julia release from release variable + set_fact: + julia_version_minor: "{{ julia_version | regex_replace('^(\\d+\\.\\d+)\\.\\d+.*$', '\\1') }}" + +- name: if checkmode show julia_version + debug: + var: julia_version_minor + when: ansible_check_mode or ansible_diff_mode + - name: download sha of julia archive get_url: url: '{{ julia_checksum_url }}' @@ -21,7 +42,7 @@ - name: download specified version of Julia get_url: - url: https://julialang-s3.julialang.org/bin/linux/x64/1.0/julia-1.0.3-linux-x86_64.tar.gz + url: 'https://julialang-s3.julialang.org/bin/linux/x64/{{ julia_version_minor }}/julia-{{ julia_version }}-linux-x86_64.tar.gz' dest: '{{ julia_download_dir }}' checksum: 'sha256:{{ julia_checksum.stdout_lines[0] }}' diff --git a/vars/main.yml b/vars/main.yml index d305ee053868e8dfdc2ef23bf85402824b6292f8..52d49118044e19bdfd857014a190b12f63ef4900 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -3,5 +3,5 @@ julia_checksum_file: julia-{{ julia_version }}.sha256 julia_checksum_url: https://julialang-s3.julialang.org/bin/checksums/{{ julia_checksum_file }} julia_tarball: julia-{{ julia_version}}-linux-x86_64.tar.gz -julia_download_url: https://julialang-s3.julialang.org/bin/linux/x64/1.0/{{ julia_tarball }} +julia_download_url: 'https://julialang-s3.julialang.org/bin/linux/x64/{{ julia_version_minor }}/{{ julia_tarball }}' julia_download_dir: '/var/cache/julia-dl'