Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

using wild cards in cache paths

simon February 24, 2025

I want to save a little bit of build time buy caching the node_modules of several subfolders in my project . Is this the right format.

```

image: node:18

clone: depth: full definitions:

caches:

node-modules-cache:

key: files: - "**/*"

path: src/sub-projects/**/node_modules/

steps: - step: &build-test name: Build and test caches: - node - node-modules-cache

```

1 answer

1 accepted

0 votes
Answer accepted
Theodora Boudale
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
February 25, 2025

Hi @simon,

I'm afraid that wildcards in a cache's path will not work. If you use a definition like this, a directory named ** will be created inside the src/sub-projects directory and then a directory named node_modules will be created inside the ** directory. So, that cache will not be used since it will not preserve the directory structure.

The workaround is to use a separate cache definition for each directory inside src/sub-projects, e.g:

definitions:
caches:
build-cache:
key:
files:
- package.json
path: src/sub-projects/componentA/node_modules
build-cache2:
key:
files:
- package.json
path: src/sub-projects/componentB/node_modules

We have a feature request for preserving the directory structure when wildcards are present in the cache path:

You can add your vote to that feature request (by selecting the link Vote for this issue) to increase the chances of this being implemented. You are more than welcome to leave feedback, and you can also add yourself as a watcher (by selecting the link Start watching this issue) if you'd like to be notified via email on updates.

You may also want to use specific files in the key files definition, like in my example above. With the pattern you currently have, "**/*", Pipelines is going to generate a new cache every time you push a change to any file at the root of your repo or its subdirectories and then the previously generated cache will not be used.

Kind regards,
Theodora

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
CLOUD
PRODUCT PLAN
STANDARD
TAGS
atlassian, confluence, loom, atlassian intelligence, ai notes, ai-powered meeting notes, atlassian community events, ace, confluence ai, loom ai integration, ai note-taking, atlassian ai features, team '25, atlassian live learning, confluence automation

Unlock AI-powered meeting notes: Join our live learning session! 📹

Did you catch the news at Team ‘25? With Loom, Confluence, Atlassian Intelligence, & even Jira 👀, you won’t have to worry about taking meeting notes again… unless you want to. Join us to explore the beta & discover a new way to boost meeting productivity.

Register today!
AUG Leaders

Atlassian Community Events