# Workflow which verifies that the latest stable version can be installed from
# pip on all the supported Python versions
name: Install stable version using pip

on:
  schedule:
    - cron: '0 13 * * *'
    - cron: '0 2 * * *'

permissions:
  contents: read  # for actions/checkout to fetch code

jobs:
  install_and_verify:
    name: Install
    runs-on: ubuntu-latest
    timeout-minutes: 5

    strategy:
      fail-fast: false
      matrix:
        python_version:

          - "3.10"
          - "3.11"
          - "3.12"
          - "3.13"

          - "pypy-3.10"

    steps:
      - uses: actions/checkout@v6
      - name: Use Python ${{ matrix.python_version }}
        uses: actions/setup-python@v6
        with:
          python-version: ${{ matrix.python_version }}

      - name: Install Libcloud
        run: |
          python --version
          pip show apache-libcloud && exit 1
          pip install apache-libcloud
          pip show apache-libcloud

  # Job which verifies that the checksum for release artifacts for the latest
  # stable version are the same for official ASF mirror and PyPi
  verify_checksums:
    name: Verify Artifacts Checksum
    runs-on: ubuntu-latest
    timeout-minutes: 5

    steps:
      - uses: actions/checkout@v6
      - name: Verify Checksums
        run: |
          LAST_STABLE_VERSION=$(curl -s --fail https://pypi.org/pypi/apache-libcloud/json | jq ".releases | to_entries | last | .key" -r)
          echo "Verifying checksums for version ${LAST_STABLE_VERSION}"
          ./dist/verify_checksums.sh "apache-libcloud-${LAST_STABLE_VERSION}"
