Skip to content

Conversation

@typescript-bot
Copy link
Collaborator

Please review the diff and merge if no changes are unexpected.
You can view the build log here.

cc @weswigham @sandersn @RyanCavanaugh

Copy link
Member

@sandersn sandersn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like noise. Let's not merge it.

@uifabric/styling: [XX:XX:XX XM] ■ Executing: /usr/local/bin/node "/office-ui-fabric-react/node_modules/typescript/lib/tsc.js" --pretty --target es5 --inlineSources --sourceRoot "../src" --outDir lib-amd --module amd --project "/office-ui-fabric-react/packages/styling/tsconfig.json"
@uifabric/styling: [XX:XX:XX XM] ■ Running Jest
@uifabric/styling: [XX:XX:XX XM] ■ /usr/local/bin/node "/office-ui-fabric-react/node_modules/jest/bin/jest.js" --config "/office-ui-fabric-react/packages/styling/jest.config.js" --passWithNoTests --colors
@uifabric/styling: PASS src/styles/theme.test.ts
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@weswigham think this is a threading artifact?

Copy link
Member

@weswigham weswigham Jul 26, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably - while I can make lerna/rush run serially (and do), there's no equivalent way to make gulp/just run serially, which is why I opened gulpjs/now-and-later#15 (which is ultimately the library that both gulp and just use to kickoff concurrent operations) - so if a specific package does something like, say, kickoff its tests and webpack at the same time, there's not much I can do... I could strip all lines that say webpack from the output?

Copy link
Contributor

@phated phated Jul 27, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@weswigham you can make gulp run serially with gulp --series task1 task2 task3. Is that what you are looking for?

Edit: It can also be specified in a .gulp.js config file to ensure it is always executed correctly.

See the docs at: https://github.com/gulpjs/gulp-cli#configuration

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That only serializes the tasks listed on launch, not the internal parallel dependencies of some root task. And, to boot, since lerna/rush are orchestrating the builds, I don't even have access to the command line that's launching gulp. :v

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awkward 😛 The config file should help with that last part but why can't the build be changed to serial?

Copy link
Member

@weswigham weswigham Jul 28, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because these are the live build/test/whatever tasks as defined by these projects (we have dockerfiles that essentially codify the basic "clone and build" process for each project, modulo injecting a new TS version). I'm not even usually invoking gulp, I'm usually just running lerna build or rush rebuild (both of which can be passed a flag to make them execute serially), as that's what most of the current projects use to manage their builds. I am operating at the top of a very tall sandcastle here. ;)

Anyways, even if I could mangle the commands rush or lerna invoked in a maintainable way, the individual packages being invoked don't usually have a series-based variant of their build tasks set up (they have no intrinsic need to), and injecting custom ones for each project seems amazingly unmaintainable - ui-fabric and azure-sdk regularly reshuffle their packages and add new ones - the monorepo manager entrypoint is really the only stable bit (I say, ui-fabric having just migrated from rush to lerna, thus requiring changes in our test setup).

I suppose I could write a .gulp.js file into the home directory (so it affects all projects), and, rather than exporting any config (since none of the options really do what I need), utilize the opportunity to inject code into the build to patch the require cache with a method looking for future and past imports matching undertaker and forcibly replace the parallel method with the series method wholesale, but that seems both hacky and brittle (and may not work if the methods have been bound and plucked off, as they usually are...).

@weswigham weswigham closed this Aug 1, 2019
@microsoft microsoft locked as resolved and limited conversation to collaborators Oct 21, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants