Travis cannot find build directory at Netlify deploy path

Hello,

I’m working on a gatsby project and I’m struggling to understand why Travis cannot find the appropriate folder (/home/travis/build/SLB-Pizza/radio-pizza/public) to drop to Netlify.

I’ve linked the job and annotated the job log below to help walk through my understanding of what happened in this job.

Any guidance would be very much appreciated.
Have a good day.


Link to Failed Travis CI Job

Relevant Portion of Travis Log (>> are my annotations)

556 $ gatsby build                                          before_deploy 61.99s
  .
  . >> gatsby build initializes without issue here
  .
583 From:  /home/travis/build/SLB-Pizza/radio-pizza/src/styles/index.scss
  .
  . >> gatsby runs purgecss as part of the build, printing the file path of the index scss
  . >> this is evidence that the build folder structure is correct
  .
  . >> `gatsby build` on success outputs a `public` folder in the /radio-pizza root folder
  . >> this has been the case when running `gatsby build` on local dev machines 
  . >> and in the past when pushing from github directly to netlify
  .
  . >> purgecss completes without error
  . 
696 success Building static HTML for pages - 7.333s - 65/65 8.86/s
697 success onPostBuild - 0.012s
698 info Done building in 61.211970272 sec
  .
  . >> `/public` should now exist at `/home/travis/build/SLB-Pizza/radio-pizza/public`
  .
699 $ rvm $(travis_internal_ruby) --fuzzy do ruby -S gem uninstall -aIx   dpl_0
  .
707 Install deployment dependencies                                       dpl.1 38.00s
  .
743 Setup deployment                                                      dpl.2 0.00s
  .
747 Prepare deployment                                                    dpl.3 31.00s
  .
835 Run deployment                                                        dpl.4 1.00s
836 $ netlify deploy --site="[secure]" --auth="[secure]" --message="Deploy triggered by Travis CI"
837 Deploy path:        /home/travis/build/SLB-Pizza/radio-pizza/public
838 Functions path:     /home/travis/build/SLB-Pizza/radio-pizza/lambda
839 Configuration path: /home/travis/build/SLB-Pizza/radio-pizza/netlify.toml
840 ›   Error: No such directory /home/travis/build/SLB-Pizza/radio-pizza/public! 
841 ›   Did you forget to run a build?
  .
  . >> L837 prints out the expected location of `/public` correctly
  . >> `gatsby build` just ran successfully so the error on L840-841 confuses me
  .
844 $ git stash pop
845 Already up to date!
846 HEAD detached at 76969ac
847 nothing to commit, working tree clean
848 Dropped refs/stash@{0} (d1b9818948d3033d033c4ec7be0027277236f0b6)
849 netlify deploy --site="[secure]" --auth="[secure]" --message="Deploy triggered by Travis CI"
850 failed to deploy

.travis.yml (encrypted things removed)

os: linux
dist: focal
language: node_js
node_js:
  - 14
cache:
  directories:
    - node_modules
script:
  - npm run test
before_deploy: "gatsby build"
deploy:
  provider: netlify
  edge: true
  cleanup: true
  message: Deploy triggered by Travis CI
  on:
    branch: deploy
  site: plaintext-netlify-site-id-string-here
  auth:
    secure: encrypted-netlify-auth-token-here
notifications:
  slack:
    rooms:
      secure: encrypted-slack-channel-token-here

As described in


cleanup: true runs git stash --all before deployment. Unless your assets are in the git repository, this is not what you want.
1 Like

Thank you @BanzaiMan!

I can confirm that removing cleanup: true from the deploy of .travis.yml worked.