Repository: apache/libcloud (language: python)

Issue:
Bump actions/setup-python from 2 to 3
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2 to 3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/setup-python/releases">actions/setup-python's releases</a>.</em></p>
<blockquote>
<h2>Update actions/cache version to 2.0.2</h2>
<p>In scope of this release we updated <code>actions/cache</code> package as the new version contains fixes related to GHES 3.5 (<a href="https://github-redirect.dependabot.com/actions/setup-python/pull/382">actions/setup-python#382</a>)</p>
<h2>v3.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update default runtime to node16 (<a href="https://github-redirect.dependabot.com/actions/setup-python/pull/340">actions/setup-python#340</a>)</li>
<li>Update <code>package-lock.json</code> file version to 2, <code>@types/node</code> to 16.11.25 and <code>typescript</code> to 4.2.3 (<a href="https://github-redirect.dependabot.com/actions/setup-python/pull/341">actions/setup-python#341</a>)</li>
<li>Remove legacy <code>pypy2</code> and <code>pypy3</code> keywords (<a href="https://github-redirect.dependabot.com/actions/setup-python/pull/342">actions/setup-python#342</a>)</li>
</ul>
<h3>Breaking Changes</h3>
<p>With the update to Node 16, all scripts will now be run with Node 16 rather than Node 12.</p>
<p>This new major release removes support of legacy <code>pypy2</code> and <code>pypy3</code> keywords. Please use more specific and flexible syntax to specify a PyPy version:</p>
<pre lang="yaml"><code>jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version:
        - 'pypy-2.7' # the latest available version of PyPy that supports Python 2.7
        - 'pypy-3.8' # the latest available version of PyPy that supports Python 3.8
        - 'pypy-3.8-v7.3.8' # Python 3.8 and PyPy 7.3.8
    steps:
    - uses: actions/checkout@v2
    - uses: actions/setup-python@v3
      with:
        python-version: ${{ matrix.python-version }}
</code></pre>
<p>See more usage examples in the <a href="https://github.com/actions/setup-python#specifying-a-pypy-version">documentation</a></p>
<h2>Update primary and restore keys for pip</h2>
<p>In scope of this release we <a href="https://github-redirect.dependabot.com/actions/setup-python/pull/303">include a version of python in restore and primary cache keys for pip</a>. Besides, we add temporary fix for Windows caching <a href="https://github-redirect.dependabot.com/actions/setup-python/pull/332">issue</a>, that the <code>pip cache dir</code> command returns non zero exit code or writes to stderr. Moreover we updated <a href="https://github-redirect.dependabot.com/actions/setup-python/pull/327">node-fetch dependency</a>.</p>
<h2>Update actions/cache version to 1.0.8</h2>
<p>We have updated <a href="https://github.com/actions/toolkit/blob/main/packages/cache/RELEASES.md#108">actions/cache</a> dependency version to 1.0.8 to support 10GB cache upload</p>
<h2>Support caching dependencies</h2>
<p>This release introduces dependency caching support (<a href="https://github-redirect.dependabot.com/actions/setup-python/pull/266">actions/setup-python#266</a>)</p>
<h2>Caching dependencies.</h2>
<p>The action has a built-in functionality for caching and restoring pip/pipenv dependencies. The <code>cache</code> input is optional, and caching is turned off by default.</p>
<p>Besides, this release introduces dependency caching support for mono repos and repositories with complex structure.</p>
<p>By default, the action searches for the dependency file (requirements.txt for pip or Pipfile.lock for pipenv) in the whole repository. Use the <code>cache-dependency-path</code> input for cases when you want to override current behaviour and use different file for hash generation (for example requirements-dev.txt). This input supports wildcards or a list of file names for caching multiple dependencies.</p>
<h3>Caching pip dependencies:</h3>
<pre><code>steps:
- uses: actions/checkout@v2
&lt;/tr&gt;&lt;/table&gt; 
</code></pre>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/actions/setup-python/commit/98f2ad02fd48d057ee3b4d4f66525b231c3e52b6"><code>98f2ad0</code></a> Updated <code>@​actions/cache</code> (<a href="https://github-redirect.dependabot.com/actions/setup-python/issues/382">#382</a>)</li>
<li><a href="https://github.com/actions/setup-python/commit/5d6f0c8a87d930c1f9308457abe4c4568399410a"><code>5d6f0c8</code></a> ci(workflow): add 'npm' cache for actions/setup-node in .github/workflows (<a href="https://github-redirect.dependabot.com/actions/setup-python/issues/379">#379</a>)</li>
<li><a href="https://github.com/actions/setup-python/commit/21c0493ecfd34b1217f0a90ec19a327f3cc0a048"><code>21c0493</code></a> Cache hit output (<a href="https://github-redirect.dependabot.com/actions/setup-python/issues/373">#373</a>)</li>
<li><a href="https://github.com/actions/setup-python/commit/7933d5a3dd7112211f44c3c6d4c1156a64d3f5bf"><code>7933d5a</code></a> Add pyton-version to setup PyPy output (<a href="https://github-redirect.dependabot.com/actions/setup-python/issues/365">#365</a>)</li>
<li><a href="https://github.com/actions/setup-python/commit/7885ec3539f8a6278aa15a514b195c3b3e10dd32"><code>7885ec3</code></a> Rework pipenv caching test (<a href="https://github-redirect.dependabot.com/actions/setup-python/issues/375">#375</a>)</li>
<li><a href="https://github.com/actions/setup-python/commit/9c644ca2ab8e57ea0a487b5ec2f8290740378bfd"><code>9c644ca</code></a> Update README.md to fix setup-python version  in example (<a href="https://github-redirect.dependabot.com/actions/setup-python/issues/368">#368</a>)</li>
<li><a href="https://github.com/actions/setup-python/commit/3e8e90edf01accdf7b76addef61eac60c478e3a7"><code>3e8e90e</code></a> dist fix (<a href="https://github-redirect.dependabot.com/actions/setup-python/issues/367">#367</a>)</li>
<li><a href="https://github.com/actions/setup-python/commit/05fb98de9ae200fbc898ddcaa011ef774ac3837f"><code>05fb98d</code></a> Cache on ghes (<a href="https://github-redirect.dependabot.com/actions/setup-python/issues/363">#363</a>)</li>
<li><a href="https://github.com/actions/setup-python/commit/6c566026c0404efac87e650f7de19f11a9406300"><code>6c56602</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/actions/setup-python/issues/281">#281</a> from patrick91/feature/poetry-caching</li>
<li><a href="https://github.com/actions/setup-python/commit/9516be869fd78eb4feec5395859f8dd36d3c8b75"><code>9516be8</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/actions/setup-python/issues/358">#358</a> from actions/brcrista/codeql-main</li>
<li>Additional commits viewable in <a href="https://github.com/actions/setup-python/compare/v2...v3">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/setup-python&package-manager=github_actions&previous-version=2&new-version=3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>


Discussion / hints:

Fix patch:
diff --git a/.github/workflows/depsreview.yaml b/.github/workflows/depsreview.yaml
index f2605b7a7e..209b94d501 100644
--- a/.github/workflows/depsreview.yaml
+++ b/.github/workflows/depsreview.yaml
@@ -1,12 +1,44 @@
 name: 'Dependency Review'
-on: [pull_request]
+
+on:
+  push:
+    branches: [ trunk ]
+  pull_request:
+    branches: [ trunk ]
+  schedule:
+    - cron: '0 3 * * *'
 
 permissions:
   contents: read
 
 jobs:
+  # Special job which skips duplicate jobs
+  pre_job:
+    name: Skip Duplicate Jobs Pre Job
+    runs-on: ubuntu-latest
+    # Map a step output to a job output
+    outputs:
+      should_skip: ${{ steps.skip_check.outputs.should_skip }}
+    steps:
+      - name: Checkout code
+        uses: actions/checkout@master
+        with:
+          persist-credentials: false
+          submodules: recursive
+
+      - id: skip_check
+        # NOTE: We store action as submodule since ASF doesn't allow directly referencing external
+        # actions
+        uses: ./.github/actions/skip-duplicate-actions # v3.4.1
+        with:
+          github_token: ${{ github.token }}
+
   dependency-review:
     runs-on: ubuntu-latest
+
+    needs: pre_job
+    if: ${{ needs.pre_job.outputs.should_skip == 'false' || github.ref == 'refs/heads/trunk' }}
+
     steps:
       - name: 'Checkout Repository'
         uses: actions/checkout@v3
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 6a111b1f40..77a56095df 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -52,7 +52,7 @@ jobs:
           - 3.8
           - 3.9
           - "3.10"
-          - pypy3
+          #- "pypy3.7"
           - pyjion
         os:
           - ubuntu-latest
@@ -64,7 +64,7 @@ jobs:
 
       - name: Use Python ${{ matrix.python_version }}
         if: ${{ matrix.python_version != 'pyjion' }}
-        uses: actions/setup-python@v2
+        uses: actions/setup-python@v3
         with:
           python-version: ${{ matrix.python_version }}
 
@@ -75,7 +75,7 @@ jobs:
 
       - name: Use Python 3.10
         if: ${{ matrix.python_version == 'pyjion' }}
-        uses: actions/setup-python@v2
+        uses: actions/setup-python@v3
         with:
           python-version: "3.10"
 
@@ -117,7 +117,7 @@ jobs:
          script -e -c "tox -e py${{ matrix.python_version }}"
 
       - name: Run dist install checks tox target
-        if: ${{ matrix.python_version != 'pypy3' && matrix.python_version != 'pyjion' }}
+        if: ${{ matrix.python_version != 'pypy3.7' && matrix.python_version != 'pyjion' }}
         run: |
          script -e -c "tox -e py${{ matrix.python_version }}-dist,py${{ matrix.python_version }}-dist-wheel"
 
@@ -138,7 +138,7 @@ jobs:
           fetch-depth: 1
 
       - name: Use Python ${{ matrix.python_version }}
-        uses: actions/setup-python@v2
+        uses: actions/setup-python@v3
         with:
           python-version: ${{ matrix.python_version }}
 
@@ -180,7 +180,7 @@ jobs:
           fetch-depth: 1
 
       - name: Use Python ${{ matrix.python_version }}
-        uses: actions/setup-python@v2
+        uses: actions/setup-python@v3
         with:
           python-version: ${{ matrix.python_version }}
 
@@ -222,7 +222,7 @@ jobs:
           fetch-depth: 1
 
       - name: Use Python ${{ matrix.python_version }}
-        uses: actions/setup-python@v2
+        uses: actions/setup-python@v3
         with:
           python-version: ${{ matrix.python_version }}
 
@@ -269,7 +269,7 @@ jobs:
           fetch-depth: 1
 
       - name: Use Python ${{ matrix.python_version }}
-        uses: actions/setup-python@v2
+        uses: actions/setup-python@v3
         with:
           python-version: ${{ matrix.python_version }}
 
diff --git a/.github/workflows/publish_dev_artifact.yml b/.github/workflows/publish_dev_artifact.yml
index f44443571d..410f82e734 100644
--- a/.github/workflows/publish_dev_artifact.yml
+++ b/.github/workflows/publish_dev_artifact.yml
@@ -33,7 +33,7 @@ jobs:
           fetch-depth: 1
 
       - name: Use Python ${{ matrix.python_version }}
-        uses: actions/setup-python@v2
+        uses: actions/setup-python@v3
         with:
           python-version: 3.8
 
diff --git a/.github/workflows/publish_pricing_to_s3.yml b/.github/workflows/publish_pricing_to_s3.yml
index e54a47095e..36fc646fc1 100644
--- a/.github/workflows/publish_pricing_to_s3.yml
+++ b/.github/workflows/publish_pricing_to_s3.yml
@@ -30,7 +30,7 @@ jobs:
           fetch-depth: 1
 
       - name: Use Python ${{ matrix.python_version }}
-        uses: actions/setup-python@v2
+        uses: actions/setup-python@v3
         with:
           python-version: ${{ matrix.python_version }}
 
diff --git a/tox.ini b/tox.ini
index f40e8914d7..519de0b9e3 100644
--- a/tox.ini
+++ b/tox.ini
@@ -12,6 +12,7 @@ deps =
     libvirt-python==7.9.0
 basepython =
     pypypy3: pypy3
+    pypypy3.7: pypy3.7
     pypyjion: pyjion
     {py3.6,py3.6-dist,py3.6-dist-wheel}: python3.6
     {py3.7,docs,checks,black,lint,pylint,mypy,micro-benchmarks,coverage,docs,py3.7-dist,py3.7-dist-wheel}: python3.7


Test patch:
diff --git a/.github/workflows/install_test.yml b/.github/workflows/install_test.yml
index 477847be0c..67a4ae0118 100644
--- a/.github/workflows/install_test.yml
+++ b/.github/workflows/install_test.yml
@@ -26,7 +26,7 @@ jobs:
           - 3.8
           - 3.9
           - "3.10"
-          - pypy3
+          - pypy3.7
 
     steps:
       - uses: actions/checkout@master
@@ -34,7 +34,7 @@ jobs:
           fetch-depth: 1
 
       - name: Use Python ${{ matrix.python_version }}
-        uses: actions/setup-python@v2
+        uses: actions/setup-python@v3
         with:
           python-version: ${{ matrix.python_version }}
 
diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml
index 9c274d636b..faaecfa7a7 100644
--- a/.github/workflows/integration-tests.yml
+++ b/.github/workflows/integration-tests.yml
@@ -55,7 +55,7 @@ jobs:
           fetch-depth: 1
 
       - name: Use Python ${{ matrix.python_version }}
-        uses: actions/setup-python@v2
+        uses: actions/setup-python@v3
         with:
           python-version: ${{ matrix.python_version }}