name: Collection release and publish DRY RUN
on:
  push:
    paths:
      - '.github/workflows/collection-publish.yml'
      - '.github/workflows/collection-publish-dry-run.yml'
      - 'contrib/build.py'
      - 'contrib/publish-requirements.txt'
      - 'contrib/publish.sh'
    branches:
      - master
  pull_request:
    paths:
      - '.github/workflows/collection-publish.yml'
      - '.github/workflows/collection-publish-dry-run.yml'
      - 'contrib/build.py'
      - 'contrib/publish-requirements.txt'
      - 'contrib/publish.sh'
  schedule:
    - cron: 3 0 * * *  # Run daily at 0:03 UTC

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

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

      - name: Set up Python ${{ matrix.runner-python-version }}
        uses: actions/setup-python@v1
        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: noreallykeyhere
          GALAXY_PATH: /tmp/new-ansible/bin/ansible-galaxy
          PYTHON_PATH: /tmp/new-ansible/bin/python
          DRYRUN: 1
