name: Collection release and publish
on:
  push:
    tags:
      - '[0-9]+\.[0-9]+\.[0-9]+'

jobs:
  publish-collection-artifact:
    name: Publish
    runs-on: ${{ matrix.runner-os }}
    strategy:
      matrix:
        runner-os:
          - ubuntu-22.04
        ansible-version:
          - git+https://github.com/ansible/ansible.git@stable-2.15
        runner-python-version:
          - 3.9
    steps:

      - name: Check out ${{ github.repository }} on disk
        uses: actions/checkout@v6

      - name: Set up Python ${{ matrix.runner-python-version }}
        uses: actions/setup-python@v6
        with:
          python-version: ${{ matrix.runner-python-version }}

      - name: Install Ansible ${{ matrix.ansible-version }}
        run: |
          python -m pip install virtualenv
          python -m virtualenv /tmp/new-ansible
          /tmp/new-ansible/bin/pip install '${{ matrix.ansible-version }}'
          /tmp/new-ansible/bin/pip install -r contrib/publish-requirements.txt

      - name: Generate a version from tag
        run: >-
          ./contrib/publish.sh ${GITHUB_REF##*/}
        env:
          API_GALAXY_TOKEN: ${{ secrets.API_GALAXY_TOKEN }}
          GALAXY_PATH: /tmp/new-ansible/bin/ansible-galaxy
          PYTHON_PATH: /tmp/new-ansible/bin/python
          DRYRUN: 0
