Travis cannot find build directory at Netlify deploy path


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
  - 14
    - node_modules
  - npm run test
before_deploy: "gatsby build"
  provider: netlify
  edge: true
  cleanup: true
  message: Deploy triggered by Travis CI
    branch: deploy
  site: plaintext-netlify-site-id-string-here
    secure: encrypted-netlify-auth-token-here
      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.