Error calling checksum: open /home/circleci/BookerooApp-SEPT/BackEnd/booksmicroservices/pom.xml: no such file or directory

Hi Everyone,

So i am trying to set up a circle CI for one of the subfolders inside my repo. I am building a microservice architecture which are stored in different directories in the same repo. When I build my config.yml file, I have explicity specified my directory and pointed into my current pom.xml which is in a particular microservice

my config.yml file
version: 2
jobs:
build:
docker:
- image: circleci/openjdk:16.0.1-jdk-buster

working_directory: ~/BookerooApp-SEPT/BackEnd/booksmicroservices

steps:
  #pull from gut
  - checkout

  - run:
      name: Login to DockerHub
      command: docker login -u $DOCKER_USER -p $DOCKER_PASS

  - restore_cache:
      keys:
        - BookerooApp-SEPT/BackEnd/booksmicroservices-{{ checksum "pom.xml" }}

  - run: mvn dependency:go-offline

  - save_cache:
      paths:
        - ~/.m2
      key: BookerooApp-SEPT/BackEnd/booksmicroservices-{{ checksum "pom.xml" }}

  #build jar file
  - run: mvn clean package

  #build a docker image and push into docker hub
  - run: mvn clean compile jib:build -Dimage=AbdoTech93/BookerooApp-SEPT/BackEnd/booksmicroservices/docker_books_ms:$CIRCLE_BUILD_NUM

  #store code inside src into target/classes
  - store_artifacts:
      path: target/classes
      destination: target

The pom.xml file exists in that particular path, yet I am getting the error mentioned above in the title. Any help will be greatly appreciated.

Hi @AbdoTech93,

Welcome to the CircleCI Discuss community!

You mentioned subfolders inside your repository; are these git submodules?

If so, you’ll need to add two specific run steps along with your checkout step, because by default CircleCI does not check out submodules:

- checkout
- run: git submodule sync
- run: git submodule update --init

Let me know if this helps.