serverless/serverless

Create project from template fails becasue does not recognize new 'main' branch instead of 'master'

Ouverte

#9 322 ouverte le 19 avr. 2021

 (5 commentaires) (0 réaction) (0 personne assignée)JavaScript (5 734 forks)batch import
bugcat/templatehelp wanted

Métriques du dépôt

Stars
 (46 915 étoiles)
Métriques de merge PR
 (Merge moyen 1j 15h) (34 PRs mergées en 30 j)

Description

When creating a project using template located in github, the action fails because sources are under the new 'main' branch instead of 'master'.

SLS_DEBUG=* sls create --template-url https://github.com/serverlesspolska/serverless-hexagonal-template --name your-project-name
Serverless: Load command interactiveCli
Serverless: Load command config
Serverless: Load command config:credentials
Serverless: Load command config:tabcompletion
Serverless: Load command config:tabcompletion:install
Serverless: Load command config:tabcompletion:uninstall
Serverless: Load command create
Serverless: Load command install
Serverless: Load command package
Serverless: Load command deploy
Serverless: Load command deploy:function
Serverless: Load command deploy:list
Serverless: Load command deploy:list:functions
Serverless: Load command invoke
Serverless: Load command invoke:local
Serverless: Load command info
Serverless: Load command logs
Serverless: Load command metrics
Serverless: Load command print
Serverless: Load command remove
Serverless: Load command rollback
Serverless: Load command rollback:function
Serverless: Load command slstats
Serverless: Load command plugin
Serverless: Load command plugin
Serverless: Load command plugin:install
Serverless: Load command plugin
Serverless: Load command plugin:uninstall
Serverless: Load command plugin
Serverless: Load command plugin:list
Serverless: Load command plugin
Serverless: Load command plugin:search
Serverless: Load command config
Serverless: Load command config:credentials
Serverless: Load command upgrade
Serverless: Load command uninstall
Serverless: Load command login
Serverless: Load command logout
Serverless: Load command generate-event
Serverless: Load command test
Serverless: Load command dashboard
Serverless: Load command output
Serverless: Load command output:get
Serverless: Load command output:list
Serverless: Load command param
Serverless: Load command param:get
Serverless: Load command param:list
Serverless: Load command studio
Serverless: Invoke create
Serverless: Generating boilerplate...
Serverless: Downloading and installing "serverless-hexagonal-template"...
(node:53505) [DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated
 Serverless Error ----------------------------------------
  ServerlessError: HTTPError: Response code 404 (Not Found)
      at /Users/pawel/.nvm/versions/node/v12.18.4/lib/node_modules/serverless/lib/plugins/create/create.js:69:17
      at tryCatcher (/Users/pawel/.nvm/versions/node/v12.18.4/lib/node_modules/serverless/node_modules/bluebird/js/release/util.js:16:23)
      at Promise._settlePromiseFromHandler (/Users/pawel/.nvm/versions/node/v12.18.4/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:547:31)
      at Promise._settlePromise (/Users/pawel/.nvm/versions/node/v12.18.4/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:604:18)
      at Promise._settlePromise0 (/Users/pawel/.nvm/versions/node/v12.18.4/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:649:10)
      at Promise._settlePromises (/Users/pawel/.nvm/versions/node/v12.18.4/lib/node_modules/serverless/node_modules/bluebird/js/release/promise.js:725:18)
      at _drainQueueStep (/Users/pawel/.nvm/versions/node/v12.18.4/lib/node_modules/serverless/node_modules/bluebird/js/release/async.js:93:12)
      at _drainQueue (/Users/pawel/.nvm/versions/node/v12.18.4/lib/node_modules/serverless/node_modules/bluebird/js/release/async.js:86:9)
      at Async._drainQueues (/Users/pawel/.nvm/versions/node/v12.18.4/lib/node_modules/serverless/node_modules/bluebird/js/release/async.js:102:5)
      at Immediate.Async.drainQueues [as _onImmediate] (/Users/pawel/.nvm/versions/node/v12.18.4/lib/node_modules/serverless/node_modules/bluebird/js/release/async.js:15:14)
      at processImmediate (internal/timers.js:456:21)
  Get Support --------------------------------------------
     Docs:          docs.serverless.com
     Bugs:          github.com/serverless/serverless/issues
     Issues:        forum.serverless.com
  Your Environment Information ---------------------------
     Operating System:          darwin
     Node Version:              12.18.4
     Framework Version:         2.35.0
     Plugin Version:            4.5.3
     SDK Version:               4.2.2
     Components Version:        3.8.3

After digging into code I see that in file downloadTemplateFromRepo.js on line 65 you have direct reference to master:

const branch = isSubdirectory ? parts[pathLength] : 'master';

Changin that master to main solved the problem which indicates that root cause is the git branch name.

Guide contributeur