From 92914fd530815649c8c90457df68ba2d7e402114 Mon Sep 17 00:00:00 2001 From: Ayaan Ahmad Date: Tue, 17 Mar 2026 18:40:54 +0530 Subject: [PATCH] [chores] Cache CI bot dependencies #628 Related to #628 --- .github/actions/bot-changelog-generator/action.yml | 13 +++++++++++++ .github/workflows/bot-autoassign-issue.yml | 2 ++ .github/workflows/bot-autoassign-pr-issue-link.yml | 2 ++ .github/workflows/bot-autoassign-pr-reopen.yml | 4 ++++ .github/workflows/bot-autoassign-stale-pr.yml | 2 ++ .github/workflows/reusable-bot-autoassign.yml | 2 ++ .github/workflows/reusable-bot-changelog.yml | 2 ++ .github/workflows/reusable-bot-ci-failure.yml | 2 ++ 8 files changed, 29 insertions(+) diff --git a/.github/actions/bot-changelog-generator/action.yml b/.github/actions/bot-changelog-generator/action.yml index a7f02e0f..87d4aa9c 100644 --- a/.github/actions/bot-changelog-generator/action.yml +++ b/.github/actions/bot-changelog-generator/action.yml @@ -15,11 +15,24 @@ inputs: repo-name: description: "Repository name in format owner/repo" required: true + cache-dependency-path: + description: "Path to dependency metadata used for pip cache invalidation" + required: false + default: "" runs: using: "composite" steps: + - name: Set up Python with cache + if: ${{ inputs.cache-dependency-path != '' }} + uses: actions/setup-python@v5 + with: + python-version: "3.13" + cache: "pip" + cache-dependency-path: ${{ inputs.cache-dependency-path }} + - name: Set up Python + if: ${{ inputs.cache-dependency-path == '' }} uses: actions/setup-python@v5 with: python-version: "3.13" diff --git a/.github/workflows/bot-autoassign-issue.yml b/.github/workflows/bot-autoassign-issue.yml index 006101d2..77f2b663 100644 --- a/.github/workflows/bot-autoassign-issue.yml +++ b/.github/workflows/bot-autoassign-issue.yml @@ -31,6 +31,8 @@ jobs: uses: actions/setup-python@v6 with: python-version: "3.13" + cache: "pip" + cache-dependency-path: "setup.py" - name: Install dependencies run: pip install -e .[github_actions] diff --git a/.github/workflows/bot-autoassign-pr-issue-link.yml b/.github/workflows/bot-autoassign-pr-issue-link.yml index d79c4218..a8fcfd59 100644 --- a/.github/workflows/bot-autoassign-pr-issue-link.yml +++ b/.github/workflows/bot-autoassign-pr-issue-link.yml @@ -32,6 +32,8 @@ jobs: uses: actions/setup-python@v6 with: python-version: "3.13" + cache: "pip" + cache-dependency-path: "setup.py" - name: Install dependencies run: pip install -e .[github_actions] diff --git a/.github/workflows/bot-autoassign-pr-reopen.yml b/.github/workflows/bot-autoassign-pr-reopen.yml index b169b1df..98e6230e 100644 --- a/.github/workflows/bot-autoassign-pr-reopen.yml +++ b/.github/workflows/bot-autoassign-pr-reopen.yml @@ -34,6 +34,8 @@ jobs: uses: actions/setup-python@v6 with: python-version: "3.13" + cache: "pip" + cache-dependency-path: "setup.py" - name: Install dependencies run: pip install -e .[github_actions] @@ -65,6 +67,8 @@ jobs: uses: actions/setup-python@v6 with: python-version: "3.13" + cache: "pip" + cache-dependency-path: "setup.py" - name: Install dependencies run: pip install -e .[github_actions] diff --git a/.github/workflows/bot-autoassign-stale-pr.yml b/.github/workflows/bot-autoassign-stale-pr.yml index 5e9a77d7..f97d5ea5 100644 --- a/.github/workflows/bot-autoassign-stale-pr.yml +++ b/.github/workflows/bot-autoassign-stale-pr.yml @@ -32,6 +32,8 @@ jobs: uses: actions/setup-python@v6 with: python-version: "3.13" + cache: "pip" + cache-dependency-path: "setup.py" - name: Install dependencies run: pip install -e .[github_actions] diff --git a/.github/workflows/reusable-bot-autoassign.yml b/.github/workflows/reusable-bot-autoassign.yml index 922bee1c..66f44be5 100644 --- a/.github/workflows/reusable-bot-autoassign.yml +++ b/.github/workflows/reusable-bot-autoassign.yml @@ -35,6 +35,8 @@ jobs: uses: actions/setup-python@v6 with: python-version: "3.13" + cache: "pip" + cache-dependency-path: "openwisp-utils/setup.py" - name: Install dependencies run: pip install -e 'openwisp-utils/.[github_actions]' diff --git a/.github/workflows/reusable-bot-changelog.yml b/.github/workflows/reusable-bot-changelog.yml index 2ba75584..731e7eca 100644 --- a/.github/workflows/reusable-bot-changelog.yml +++ b/.github/workflows/reusable-bot-changelog.yml @@ -63,12 +63,14 @@ jobs: ref: master sparse-checkout: | .github/actions/bot-changelog-generator + setup.py path: openwisp-utils-action - name: Generate changelog if: steps.check-commits.outputs.has_noteworthy == 'true' uses: ./openwisp-utils-action/.github/actions/bot-changelog-generator with: + cache-dependency-path: openwisp-utils-action/setup.py github-token: ${{ steps.app-token.outputs.token }} gemini-api-key: ${{ secrets.GEMINI_API_KEY }} pr-number: ${{ steps.check-commits.outputs.pr_number }} diff --git a/.github/workflows/reusable-bot-ci-failure.yml b/.github/workflows/reusable-bot-ci-failure.yml index a4af9c90..a6b6d461 100644 --- a/.github/workflows/reusable-bot-ci-failure.yml +++ b/.github/workflows/reusable-bot-ci-failure.yml @@ -68,6 +68,8 @@ jobs: uses: actions/setup-python@v6 with: python-version: "3.13" + cache: "pip" + cache-dependency-path: "trusted_scripts/setup.py" - name: Install Tools run: |