--- # Note: we don't use the GitHub API to retrieve the latest version because # it has rate limits which are hard to avoid in CI (we need a token, authenticate # with the API, etc.). Instead, we browse the latest release url which redirects # to the release page, where we can find the version number in the URL. - become: false delegate_to: localhost run_once: true block: - name: Get latest release information from GitHub uri: url: "{{ mergerfs_github_releases_url }}/latest" register: mergerfs_github_release_page - name: Set latest mergerfs version fact set_fact: mergerfs_version: "{{ mergerfs_github_release_page['url'].split('/')[-1] }}" when: mergerfs_version == "latest" - name: Determine package download url set_fact: mergerfs_package_url: "{{ mergerfs_github_releases_url }}/download/{{ mergerfs_version }}/\ {{ mergerfs_pkg_prefix }}{{ mergerfs_version }}{{ mergerfs_pkg_suffix }}" - name: Install xz-utils package for .deb package installation become: true apt: name: xz-utils state: present update_cache: true when: ansible_pkg_mgr == 'apt' - name: Install mergerfs package with apt become: true apt: deb: "{{ mergerfs_package_url }}" state: present update_cache: true when: ansible_pkg_mgr == 'apt' - name: Install mergerfs package with yum become: true yum: name: "{{ mergerfs_package_url }}" state: present disable_gpg_check: true # the package is not signed when: ansible_pkg_mgr == 'yum' - name: Install mergerfs package with dnf become: true dnf: name: "{{ mergerfs_package_url }}" state: present disable_gpg_check: true # the package is not signed when: ansible_pkg_mgr == 'dnf'