---
- name: set the temp test directory
  set_fact:
    galaxy_dir: "{{ remote_tmp_dir }}/galaxy"

- name: Test installing collections from git repositories
  environment:
    ANSIBLE_COLLECTIONS_PATH: "{{ galaxy_dir }}/collections"
  vars:
    cleanup: True
    galaxy_dir: "{{ galaxy_dir }}"
  block:

  - include_tasks: ./setup.yml
  - include_tasks: ./requirements.yml
  - include_tasks: ./individual_collection_repo.yml
  - include_tasks: ./setup_multi_collection_repo.yml
  - include_tasks: ./multi_collection_repo_all.yml
  - include_tasks: ./scm_dependency.yml
    vars:
      cleanup: False
  - include_tasks: ./reinstalling.yml
  - include_tasks: ./multi_collection_repo_individual.yml
  - include_tasks: ./setup_recursive_scm_dependency.yml
  - include_tasks: ./scm_dependency_deduplication.yml
  - include_tasks: ./test_supported_resolvelib_versions.yml
    loop: "{{ supported_resolvelib_versions }}"
    loop_control:
      loop_var: resolvelib_version
  - include_tasks: ./download.yml
  - include_tasks: ./setup_collection_bad_version.yml
  - include_tasks: ./test_invalid_version.yml
  - include_tasks: ./test_manifest_metadata.yml

  always:

  - name: Remove the directories for installing collections and git repositories
    file:
      path: '{{ item }}'
      state: absent
    loop:
      - "{{ install_path }}"
      - "{{ alt_install_path }}"
      - "{{ scm_path }}"

  - name: remove git
    package:
      name: git
      state: absent
    when: git_install is changed

  # This gets dragged in as a dependency of git on FreeBSD.
  # We need to remove it too when done.
  - name: remove python37 if necessary
    package:
      name: python37
      state: absent
    when:
      - git_install is changed
      - ansible_distribution == 'FreeBSD'
      - ansible_python.version.major == 2
