# 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 * * *'

jobs:
  install_and_verify:
    name: Install latest stable version
    runs-on: ubuntu-latest
    timeout-minutes: 2

    strategy:
      fail-fast: false
      matrix:
        python_version:
          - 3.5
          - 3.6
          - 3.7
          - 3.8
          - 3.9
          - "3.10"
          - pypy3

    steps:
      - uses: actions/checkout@master
        with:
          fetch-depth: 1

      - name: Use Python ${{ matrix.python_version }}
        uses: actions/setup-python@v2
        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: 2

    steps:
      - uses: actions/checkout@master
        with:
          fetch-depth: 1

      - 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}"
