- hosts: "gitea"
  tasks:
    - name: Run selenium container
      include_role:
        name: run-selenium

    - name: Test base jobs project was created in gitea
      uri:
        url: "https://localhost:3000/opendev/base-jobs"
        validate_certs: false
        status_code: 200
    - name: Test zuul project was created in gitea
      uri:
        url: "https://localhost:3000/zuul/zuul"
        validate_certs: false
        status_code: 200
        return_content: yes
      register: zuul_content
    - name: Assert description updated
      fail:
        msg: Zuul description was not updated
      when: '"Zuuls new description" not in zuul_content.content'
    - name: Configure ssh for pushing into test gitea
      shell: |
        ssh-keyscan -t rsa -p 222 localhost >> /home/zuul/.ssh/known_hosts
        ssh-keygen -t ed25519 -f /home/zuul/.ssh/id_ed25519 -C giteagerrittest -P ''
      # We become zuul here because we need to git push has zuul later to
      # ensure the owner of the git repo is the one operating on it.
      become: true
      become_user: zuul
    - name: Register new gitea gerrit pubkey value
      slurp:
        src: /home/zuul/.ssh/id_ed25519.pub
      register: slurped_gitea_gerrit_pubkey
    - name: Set testing key on gerrit account in gitea
      no_log: true
      uri:
        user: root
        password: "{{ gitea_root_password }}"
        force_basic_auth: true
        url: "https://localhost:3000/api/v1/admin/users/gerrit/keys"
        validate_certs: false
        method: POST
        status_code: 201
        body_format: json
        body:
          key: "{{ slurped_gitea_gerrit_pubkey['content'] | b64decode }}"
          read_only: false
          title: "Gerrit testing key"
    - name: Push system-config into our test gitea for testing
      shell: |
        cd /home/zuul/src/opendev.org/opendev/system-config
        git remote add test-gitea ssh://git@localhost:222/opendev/system-config
        GIT_SSH_COMMAND='ssh -i /home/zuul/.ssh/id_ed25519' git push -f test-gitea master
      # We run this as zuul because zuul owns the git repo in /home/zuul
      # and git by default does not want to operate on a git repo as another
      # user.
      become: true
      become_user: zuul

- name: Run rename playbook
  import_playbook: rename_repos.yaml
  vars:
    repolist: /home/zuul/src/opendev.org/opendev/system-config/playbooks/zuul/test_gitea_renames.yaml

- hosts: "gitea"
  tasks:
    - name: Make gitea access logs readable by zuul for log collection
      file:
        path: /var/gitea/logs/access.log
        mode: o+r

# This is conveniently left here so that it can be uncommented in order to
# autohold the system-config-run-gitea job in zuul.
#- hosts: bridge99.opendev.org
#  tasks:
#    - name: Force a failure for human intervention
#      fail:
#        msg: Failing so that we can check on things with a hold