Fix CI workflow caching failure when no dependency files are present - #5
Draft
Daniele-Cangi with Copilot wants to merge 3 commits into
Draft
Fix CI workflow caching failure when no dependency files are present#5Daniele-Cangi with Copilot wants to merge 3 commits into
Daniele-Cangi with Copilot wants to merge 3 commits into
Conversation
Co-authored-by: Daniele-Cangi <217463740+Daniele-Cangi@users.noreply.github.com>
Co-authored-by: Daniele-Cangi <217463740+Daniele-Cangi@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Fix CI: make setup-python cache conditional when no dependency files are present
Fix CI workflow caching failure when no dependency files are present
Sep 15, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The CI workflow was failing with the error:
This occurred because
actions/setup-python@v5withcache: "pip"requires dependency files to exist when caching is enabled, but this repository currently has no dependency files (it's a standalone project).Solution
Updated
.github/workflows/ci.ymlto implement conditional caching that automatically adapts to the presence or absence of dependency files:Key Changes
Conditional Python Setup: Split into two steps using
hashFiles()to detect dependency filesrequirements*.txt,pyproject.toml, orpoetry.lockfiles exist anywhere in the repositoryEnhanced Dependency Detection: Expanded glob patterns to cover files in subdirectories:
**/requirements*.txt(catchesrequirements.txt,requirements-dev.txt, etc.)**/pyproject.toml**/poetry.lockMatrix Strategy: Added support for Python 3.10 and 3.11
Robust Dependency Installation: Added conditional logic that safely handles missing dependency files
Smart Test Execution: Implemented pytest with no-tests guard to handle repositories without test files
Benefits
The workflow now gracefully handles both standalone projects and projects with dependencies, eliminating the caching error while preserving performance benefits when applicable.
This pull request was created as a result of the following prompt from Copilot chat.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.