Skip to content

build: share release output between circle jobs #13838

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Oct 29, 2018

Conversation

devversion
Copy link
Member

@devversion devversion commented Oct 27, 2018

  • Runs a new job that builds the release output and persists it to the CircleCI workspace storage. This can be used to run the AOT tests, CLI integration tests (#13456), publish artifacts etc without rebuilding everything again.

  • Runs two parallel instances of Browserstack with the goal of replacing Saucelabs completely with Browserstack. Also a benefit is that we can now use packages like karma-parallel to speed up tests per instance without the downside of just running specific tests on a specific browser.

@devversion devversion added the in progress This issue is currently in progress label Oct 27, 2018
@devversion devversion requested a review from jelbourn as a code owner October 27, 2018 08:08
@googlebot googlebot added the cla: yes PR author has agreed to Google's Contributor License Agreement label Oct 27, 2018
@devversion devversion force-pushed the build/circleci-workspace-sharing branch from ef7bb68 to be3e022 Compare October 27, 2018 08:20
@devversion devversion force-pushed the build/circleci-workspace-sharing branch from be3e022 to 9696ff8 Compare October 27, 2018 08:35
@devversion devversion force-pushed the build/circleci-workspace-sharing branch from c95e4ed to 766b23a Compare October 27, 2018 09:40
const chunkSize = Math.floor((browsers.length - assignedBrowsers) / (maxInstances - i));
chunks[i] = browsers.slice(assignedBrowsers, assignedBrowsers + chunkSize);
assignedBrowsers += chunkSize;
}
Copy link
Member Author

@devversion devversion Oct 27, 2018

Choose a reason for hiding this comment

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

@jelbourn You probably have some better ideas to split an array into a maximum size of chunks in a deterministic way.

Note that I intentionally didn't consider splitting the actual tests across browsers because we want to run all specs on all browsers specified for BrowserStack.

@devversion devversion added pr: merge safe target: patch This PR is targeted for the next patch release and removed in progress This issue is currently in progress labels Oct 27, 2018
Copy link
Member

@jelbourn jelbourn left a comment

Choose a reason for hiding this comment

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

LGTM

That array splitting is fine

@jelbourn jelbourn added pr: lgtm action: merge The PR is ready for merge by the caretaker labels Oct 29, 2018
@jelbourn jelbourn merged commit 91d4c0f into angular:master Oct 29, 2018
@devversion devversion deleted the build/circleci-workspace-sharing branch October 29, 2018 15:16
atscott pushed a commit to atscott/components that referenced this pull request Nov 5, 2018
Also support parallel Karma instances on CircleCI
jelbourn pushed a commit that referenced this pull request Nov 6, 2018
Also support parallel Karma instances on CircleCI
@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Sep 10, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
action: merge The PR is ready for merge by the caretaker cla: yes PR author has agreed to Google's Contributor License Agreement target: patch This PR is targeted for the next patch release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants