---
# Copyright (c) Ansible Project
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
# SPDX-License-Identifier: GPL-3.0-or-later

name: extra-tests
on:
  # Run CI against all pushes (direct commits, also merged PRs), Pull Requests
  push:
    branches:
      - stable-*
  pull_request:
  # Run CI once per day (at 04:45 UTC)
  # This ensures that even if there haven't been commits that we are still testing against latest version of ansible-test for each ansible-base version
  schedule:
    - cron: '45 4 * * *'
env:
  NAMESPACE: community
  COLLECTION_NAME: library_inventory_filtering_v1

jobs:
  extra-sanity:
    name: Extra Sanity
    runs-on: ubuntu-latest
    steps:

      - name: Check out code
        uses: actions/checkout@v4
        with:
          path: ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}}

      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: '3.12'

      - name: Install ansible-core
        run: pip install https://github.com/ansible/ansible/archive/devel.tar.gz --disable-pip-version-check

      - name: Install collection dependencies
        run: git clone --depth=1 --single-branch https://github.com/ansible-collections/community.internal_test_tools.git ./ansible_collections/community/internal_test_tools
        # NOTE: we're installing with git to work around Galaxy being a huge PITA (https://github.com/ansible/galaxy/issues/2429)
        # run: ansible-galaxy collection install community.internal_test_tools -p .

      - name: Run sanity tests
        run: ../../community/internal_test_tools/tools/run.py --color
        working-directory: ./ansible_collections/${{env.NAMESPACE}}/${{env.COLLECTION_NAME}}
