Giter Club home page Giter Club logo

carpenterd's People

Contributors

agerard-godaddy avatar clim-godaddy avatar dependabot[bot] avatar fritzmonkey avatar indexzero avatar jacopodaeli avatar jcruger-godaddy avatar jcrugzz avatar msluther avatar mswaagman-godaddy avatar sivanmehta avatar smehta-godaddy avatar snyk-bot avatar swaagie avatar thumbsupep avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

carpenterd's Issues

Verify accuracy of `README`

Acceptance Criteria:

  • Ensure that the README is still accurate and covers all functionality
  • Includes links back to warehouse docs/diagrams
  • Includes links to relevant repos (e.g. carpenterd-worker should link to workers-factory, probably bffs, etc.)
  • Readme is updated or new issues are created

Empty file causes build to fail with exception

If one of the assets is an empty file, carpenter will throw an exception and fail the build.
https://github.com/godaddy/carpenterd/blob/master/lib/constructor/factory.js#L443-L462

Error:
carpenter-sbjwi | {"level":"error","message":"Build 72af99d1-34f4-4dd5-acf7-d5f14f1f67fc failed {"message":"Cannot read property 'length' of undefined","stack":"TypeError: Cannot read property 'length' of undefined\n at Factory.stock (/usr/local/carpenter/node_modules/carpenterd/lib/constructor/factory.js:460:79)\n at Function.ran (/usr/local/carpenter/node_modules/carpenterd/lib/constructor/factory.js:293:15)\n at done (/usr/local/carpenter/node_modules/carpenterd/lib/constructor/workers/webpack.js:38:10)\n at Walker. (/usr/local/carpenter/node_modules/carpenterd/lib/constructor/workers/webpack.js:66:26)\n at Walker.g (events.js:260:16)\n at emitNone (events.js:67:13)\n at Walker.emit (events.js:166:7)\n at Walker._wNext (/usr/local/carpenter/node_modules/walk/lib/walk.js:277:10)\n at Walker._wNext (/usr/local/carpenter/node_modules/walk/lib/walk.js:272:17)\n at Walker._wOnEmitDone (/usr/local/carpenter/node_modules/walk/lib/walk.js:124:8)","name":"Error","event":"error","description":"Cannot read property 'length' of undefined","stacktrace":["TypeError: Cannot read property 'length' of undefined"," at Factory.stock (/usr/local/carpenter/node_modules/carpenterd/lib/constructor/factory.js:460:79)"," at Function.ran (/usr/local/carpenter/node_modules/carpenterd/lib/constructor/factory.js:293:15)"," at done (/usr/local/carpenter/node_modules/carpenterd/lib/constructor/workers/webpack.js:38:10)"," at Walker. (/usr/local/carpenter/node_modules/carpenterd/lib/constructor/workers/webpack.js:66:26)"," at Walker.g (events.js:260:16)"," at emitNone (events.js:67:13)"," at Walker.emit (events.js:166:7)"," at Walker._wNext (/usr/local/carpenter/node_modules/walk/lib/walk.js:277:10)"," at Walker._wNext (/usr/local/carpenter/node_modules/walk/lib/walk.js:272:17)"," at Walker._wOnEmitDone (/usr/local/carpenter/node_modules/walk/lib/walk.js:124:8)"],"branchId":[14]}"}

Request: `npm install` should use the `--production` flag

The npm install that carpenterd does here should be done with a --production flag passed.

Pros:

  1. This will speed up build as less will need to be installed
  2. This will decrease the size each tarball (and thus storage costs) for each version

Cons:

  1. Potentially breaking for any package that doesn't have the right breakdown in dependencies vs dev-dependencies.
  2. Work arounds for stopping the automatic creation of dependent-packages will stop working (those packages are actually needed at build time, but you don't always want to be a dependent build).

`latest` should mean `dev` everywhere and not `prod` in some cases

๐Ÿ› Bug Report

dist-tagging latest should mean dev for carpenterd. It means dev everywhere else in the system.

To Reproduce

  1. Publish a package, which defaults to creating a dist-tag of latest

    This creates a build for dev

  2. Remove the latest dist-tag
  3. Re-add the latest dist-tag for the version published in step 1.

Expected Behavior

I would expect this to create a build (or rollback the build) for dev since latest means dev when publishing. Instead it creates a build for prod.

Code Example

N/A

Environment

Running within AWS with latest bits as of creation date.

DynamoDB Migration

To support the DynamoDB migration outlined in this proposal:

Once warehouse-models is updated & bffs is updated

  • carpenterd uses the new DynamoDB version of warehouse-models & bffs
  • Tests are updated and use localstack if necessary
  • Update documentation
  • Published as a new major version

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.