mapbox / carto

fast CSS-like map stylesheets
https://cartocss.readthedocs.io/
Apache License 2.0
652 stars 129 forks source link

Carto v0.16 release #440

Closed springmeyer closed 8 years ago

springmeyer commented 8 years ago

Ticket to track overall coordination on releasing v0.16.0.

(Below I've added tasks and handles. Please feel free to edit in place, adding yourself on a task or removing if you don't have bandwidth.)

Before cutting a release I'm seeing we need to:

nebulon42 commented 8 years ago

I tried locating all relevant issues and PRs and have added them to the milestone. Not sure if I missed something.

yohanboniface commented 8 years ago

Sounds good in Kosmtik :)

nebulon42 commented 8 years ago

Generated XML for osm-carto between 0.15.3 and master is identical except for some rounding errors in colors due to the new transition via HSL. But I might have found a potential bug in the mix function. I'm still investigating.

springmeyer commented 8 years ago

TileMill tests pass with latest carto master. Will try Mapbox Studio Classic next.

nebulon42 commented 8 years ago

I have pushed a commit (https://github.com/mapbox/carto/commit/206a59570bff85f06fdee9b9380602a0aff1a250) that fixes the problem with color mixing.

nebulon42 commented 8 years ago

Added changelog in https://github.com/mapbox/carto/commit/af92b76f94b10887c23479a14f39bb688e1b06d5.

springmeyer commented 8 years ago

Excellent work @nebulon42 - I'll test Mapbox Studio Classic this weekend and then ping @tmcw early next week. Assuming all looks good let's plan to release next Wednesday or so. Sound good?

nebulon42 commented 8 years ago

@springmeyer Any success for Mapbox Studio Classic?

springmeyer commented 8 years ago

Mapbox studio classic has failing tests:

# newStyle: creates a tmp style with source
not ok 75 Error: Expecting a Stylesheet property containing an (array of) stylesheet object(s) of the form { id: 'x', 'data': 'y' }. 
  ---
    operator: error
    expected: |-
      undefined
    actual: |-
      [Error: Expecting a Stylesheet property containing an (array of) stylesheet object(s) of the form { id: 'x', 'data': 'y' }.
]
    at: Function.source.toXML (/Users/dane/projects/mbstudio/lib/source.js:293:16)
  ...

/Users/dane/projects/mbstudio/test/middleware.test.js:258
        }, req.style.data.styles, 'creates default styles');
                    ^
TypeError: Cannot read property 'data' of undefined
    at /Users/dane/projects/mbstudio/test/middleware.test.js:258:21
    at /Users/dane/projects/mbstudio/lib/middleware.js:131:29
    at /Users/dane/projects/mbstudio/lib/source.js:171:29
    at Function.source.toXML (/Users/dane/projects/mbstudio/lib/source.js:293:16)
    at Function.source.refresh (/Users/dane/projects/mbstudio/lib/source.js:170:16)
    at /Users/dane/projects/mbstudio/lib/source.js:107:16
    at load (/Users/dane/projects/mbstudio/lib/source.js:437:16)
    at /Users/dane/projects/mbstudio/lib/source.js:493:20
    at fs.js:272:14
    at /Users/dane/projects/mbstudio/node_modules/fstream/node_modules/graceful-fs/graceful-fs.js:43:10
nebulon42 commented 8 years ago

Sorry, I cannot help investigating because it fails to install for me (sqlite3 makes problems).

springmeyer commented 8 years ago

@nebulon42 what is the error you are seeing?

nebulon42 commented 8 years ago

The error below:

gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Linux 3.16.0-67-generic
gyp ERR! command "/usr/bin/nodejs" "/usr/lib/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/home/xyz/mapbox-studio-classic/node_modules/mbtiles/node_modules/sqlite3/lib/binding/node-v46-linux-x64/node_sqlite3.node" "--module_name=node_sqlite3" "--module_path=/home/xyz/mapbox-studio-classic/node_modules/mbtiles/node_modules/sqlite3/lib/binding/node-v46-linux-x64"
gyp ERR! cwd /home/xyz/mapbox-studio-classic/node_modules/mbtiles/node_modules/sqlite3
gyp ERR! node -v v4.4.0
gyp ERR! node-gyp -v v3.2.1
gyp ERR! not ok 
node-pre-gyp ERR! build error 
node-pre-gyp ERR! stack Error: Failed to execute '/usr/bin/nodejs /usr/lib/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/home/xyz/mapbox-studio-classic/node_modules/mbtiles/node_modules/sqlite3/lib/binding/node-v46-linux-x64/node_sqlite3.node --module_name=node_sqlite3 --module_path=/home/xyz/mapbox-studio-classic/node_modules/mbtiles/node_modules/sqlite3/lib/binding/node-v46-linux-x64' (1)
node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (/home/xyz/mapbox-studio-classic/node_modules/mbtiles/node_modules/sqlite3/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack     at emitTwo (events.js:87:13)
node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
node-pre-gyp ERR! stack     at maybeClose (internal/child_process.js:827:16)
node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
node-pre-gyp ERR! System Linux 3.16.0-67-generic
node-pre-gyp ERR! command "/usr/bin/nodejs" "/home/xyz/mapbox-studio-classic/node_modules/mbtiles/node_modules/sqlite3/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd /home/xyz/mapbox-studio-classic/node_modules/mbtiles/node_modules/sqlite3
node-pre-gyp ERR! node -v v4.4.0
node-pre-gyp ERR! node-pre-gyp -v v0.6.9
node-pre-gyp ERR! not ok 
npm ERR! Linux 3.16.0-67-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! node v4.4.0
npm ERR! npm  v2.14.20
npm ERR! code ELIFECYCLE

npm ERR! sqlite3@3.0.10 install: `node-pre-gyp install --fallback-to-build`
npm ERR! Exit status 1
springmeyer commented 8 years ago

@nebulon42 - looks like you might be running as root. This breaks npm. You need to either run npm install as a non-priveleged user or pass the --unsafe-perm flag (not ideal).

nebulon42 commented 8 years ago

@springmeyer I'm only running npm as root if I'm prompted to do so. It might be related to that specific sqlite3 version, because the latest version installs fine. Unfortunately, I don't have much time to investigate this in detail.

nebulon42 commented 8 years ago

Installation succeeded when I upgraded from mbtiles@0.8.0 to mbtiles@0.8.2.

nebulon42 commented 8 years ago

After some problems with npm test where the node interpreter reached the memory limit (memory leak?) I adjusted the max-old-space-size of the tape script and got past this point. But I'm seeing failed tests even with carto 0.15.3.

not ok 61 TypeError: str.replace is not a function
  ---
    operator: error
    expected: |-
      undefined
    actual: |-
      [TypeError: str.replace is not a function]
    at: Vector.<anonymous> (/home/xyz/mapbox-studio-classic/node_modules/tilelive-vector/index.js:594:20)
    stack: |-
      TypeError: str.replace is not a function
          at Object.Parser.parser.parse [as parse] (/home/xyz/mapbox-studio-classic/node_modules/carto/lib/carto/parser.js:148:25)
          at /home/xyz/mapbox-studio-classic/node_modules/carto/lib/carto/renderer.js:93:44
          at Array.map (native)
          at Function._.map._.collect (/home/xyz/mapbox-studio-classic/node_modules/underscore/underscore.js:98:56)
          at _.(anonymous function) [as map] (/home/xyz/mapbox-studio-classic/node_modules/underscore/underscore.js:1178:39)
          at Renderer.render (/home/xyz/mapbox-studio-classic/node_modules/carto/lib/carto/renderer.js:84:10)
          at /home/xyz/mapbox-studio-classic/lib/style.js:273:16
          at /home/xyz/mapbox-studio-classic/lib/source.js:205:13
          at Vector.<anonymous> (/home/xyz/mapbox-studio-classic/node_modules/tilelive-vector/index.js:594:20)
          at Vector.g (events.js:260:16)
  ...
not ok 62 appends style to req
  ---
    operator: ok
    expected: true
    actual:   undefined
    at: Vector.<anonymous> (/home/xyz/mapbox-studio-classic/node_modules/tilelive-vector/index.js:594:20)
  ...
/home/xyz/mapbox-studio-classic/test/middleware.test.js:207
        t.ok(style.tmpid(req.style.data.id), 'creates a valid tmp id');
                                  ^

TypeError: Cannot read property 'data' of undefined
    at /home/xyz/mapbox-studio-classic/test/middleware.test.js:207:35
    at /home/xyz/mapbox-studio-classic/lib/middleware.js:165:29
    at /home/xyz/mapbox-studio-classic/lib/style.js:103:25
    at /home/xyz/mapbox-studio-classic/lib/style.js:275:20
    at /home/xyz/mapbox-studio-classic/lib/source.js:205:13
    at Vector.<anonymous> (/home/xyz/mapbox-studio-classic/node_modules/tilelive-vector/index.js:594:20)
    at Vector.g (events.js:260:16)
    at emitTwo (events.js:87:13)
    at Vector.emit (events.js:172:7)
    at /home/xyz/mapbox-studio-classic/node_modules/tilelive-vector/index.js:63:40
nebulon42 commented 8 years ago

@springmeyer How should we proceed from here?

springmeyer commented 8 years ago

@nebulon42 thanks for pinging. I think those earlier mapbox studio classic errors are unrelated. I'm not seeing them and travis is green for studio classic. I've spent some time this morning getting to the bottom of the problem: Mapbox Studio Classic uses Carto without the styling for generating MML suitable for rendering vector tiles. So what Studio Classic needed was Carto to only validate the Stylesheet property if it exists. I've made this fix in 050e11f.

springmeyer commented 8 years ago

Assuming that change looks good to you and travis passes green, I think we are ready to tag.

springmeyer commented 8 years ago

carto@0.16.0 is now tagged and published.

nebulon42 commented 8 years ago

Great!