Skip to content
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

Update sizebot to new workflow #20719

Merged
merged 7 commits into from Feb 3, 2021

Conversation

@acdlite
Copy link
Member

@acdlite acdlite commented Feb 2, 2021

Replaces the two separate sizebot jobs (one for each channel, stable and experimental) with a single combined job that outputs size information for all bundles in a single GitHub comment.

I didn't attempt to simplify the output at all, but we should. I think what I would do is remove our custom Rollup sizes plugin, and read the sizes from the filesystem instead. We would lose some information about the build configuration used to generate each artifact, but that can be inferred from the filepath. For example, the filepath fb-www/ReactDOM-dev.classic.js already tells us everything we need to know about the artifact. Leaving this for a follow up.

@codesandbox
Copy link

@codesandbox codesandbox bot commented Feb 2, 2021

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

@sizebot
Copy link

@sizebot sizebot commented Feb 2, 2021

Warnings
⚠️ Failed to read build artifacts. It's possible a build configuration has changed upstream. Try pulling the latest changes from the main branch.

Generated by 🚫 dangerJS against f24da1c

@acdlite acdlite force-pushed the acdlite:update-sizebot-to-new-workflow branch 6 times, most recently from ba4aafb to 72b4a92 Feb 2, 2021
@facebook facebook deleted a comment from sizebot Feb 3, 2021
@acdlite acdlite force-pushed the acdlite:update-sizebot-to-new-workflow branch 8 times, most recently from 8a3614c to bffa377 Feb 3, 2021
@acdlite acdlite changed the title [WIP] Update sizebot to new workflow Update sizebot to new workflow Feb 3, 2021
@acdlite acdlite marked this pull request as ready for review Feb 3, 2021
@acdlite acdlite requested review from rickhanlonii and bvaughn Feb 3, 2021
@facebook facebook deleted a comment from sizebot Feb 3, 2021
- run:
name: Download artifacts for base revision
# TODO: Commit sha is hardcoded until required changes land in main
# branch. Once they do, replace with `merge-base HEAD origin/master`

This comment has been minimized.

@acdlite

acdlite Feb 3, 2021
Author Member

I'll un-hardcode the base sha before landing. Need to land in two stages.

@acdlite acdlite force-pushed the acdlite:update-sizebot-to-new-workflow branch 2 times, most recently from ca6bd97 to 2242ed6 Feb 3, 2021
@facebook facebook deleted a comment from sizebot Feb 3, 2021
@bvaughn
bvaughn approved these changes Feb 3, 2021
git fetch origin master
echo "$(git merge-base HEAD origin/master)"
cd ./scripts/release && yarn && cd ../../
scripts/release/download-experimental-build.js --commit=4783999

This comment has been minimized.

@bvaughn

bvaughn Feb 3, 2021
Contributor

So long as we remember to change this.

acdlite added 3 commits Feb 2, 2021
Alternative to parsing an arbitrary package's version number, or
its `build-info.json`.
I think this only reason we needed this was to support passing any
job id to `--build`, instead of requiring the `process_artifacts` job.
And to do that you needed to use the workflows API endpoint, which
requires an API token.

But now that the `--commit` argument exists and automatically finds the
correct job id, we can just use that.
Uses download-experimental script and places the base artifacts into
a top-level folder.
@acdlite acdlite force-pushed the acdlite:update-sizebot-to-new-workflow branch from 2242ed6 to 9d0ee0b Feb 3, 2021
acdlite added 3 commits Feb 3, 2021
Replaces the two separate sizebot jobs (one for each channel, stable and
experimental) with a single combined job that outputs size information
for all bundles in a single GitHub comment.

I didn't attempt to simplify the output at all, but we should. I think
what I would do is remove our custom Rollup sizes plugin, and read the
sizes from the filesystem instead. We would lose some information about
the build configuration used to generate each artifact, but that can be
inferred from the filepath. For example, the filepath
`fb-www/ReactDOM-dev.classic.js` already tells us everything we need to
know about the artifact. Leaving this for a follow up.
The download script will poll the CircleCI endpoint until the build job
is complete; it should also poll the GitHub status endpoint if the
build job hasn't been spawned yet.
@facebook facebook deleted a comment from sizebot Feb 3, 2021
@acdlite acdlite merged commit b936ab6 into facebook:master Feb 3, 2021
34 of 36 checks passed
34 of 36 checks passed
ci/circleci: build_devtools_and_process_artifacts CircleCI is running your tests
Details
ci/circleci: yarn_test_build--r=stable --env=development CircleCI is running your tests
Details
Facebook CLA Check Contributor License Agreement is valid!
Details
ci/circleci: RELEASE_CHANNEL_stable_yarn_build Your tests passed on CircleCI!
Details
ci/circleci: RELEASE_CHANNEL_stable_yarn_lint_build Your tests passed on CircleCI!
Details
ci/circleci: RELEASE_CHANNEL_stable_yarn_test_dom_fixtures Your tests passed on CircleCI!
Details
ci/circleci: build_devtools_scheduling_profiler Your tests passed on CircleCI!
Details
ci/circleci: get_base_build Your tests passed on CircleCI!
Details
ci/circleci: process_artifacts Your tests passed on CircleCI!
Details
ci/circleci: process_artifacts_combined Your tests passed on CircleCI!
Details
ci/circleci: process_artifacts_experimental Your tests passed on CircleCI!
Details
ci/circleci: setup Your tests passed on CircleCI!
Details
ci/circleci: sizebot Your tests passed on CircleCI!
Details
ci/circleci: yarn_build Your tests passed on CircleCI!
Details
ci/circleci: yarn_build_combined Your tests passed on CircleCI!
Details
ci/circleci: yarn_flow Your tests passed on CircleCI!
Details
ci/circleci: yarn_lint Your tests passed on CircleCI!
Details
ci/circleci: yarn_lint_build Your tests passed on CircleCI!
Details
ci/circleci: yarn_test--r=experimental --env=development Your tests passed on CircleCI!
Details
ci/circleci: yarn_test--r=experimental --env=production Your tests passed on CircleCI!
Details
ci/circleci: yarn_test--r=stable --env=development Your tests passed on CircleCI!
Details
ci/circleci: yarn_test--r=stable --env=development --persistent Your tests passed on CircleCI!
Details
ci/circleci: yarn_test--r=stable --env=production Your tests passed on CircleCI!
Details
ci/circleci: yarn_test--r=www-classic --env=development Your tests passed on CircleCI!
Details
ci/circleci: yarn_test--r=www-classic --env=development --variant Your tests passed on CircleCI!
Details
ci/circleci: yarn_test--r=www-classic --env=production Your tests passed on CircleCI!
Details
ci/circleci: yarn_test--r=www-classic --env=production --variant Your tests passed on CircleCI!
Details
ci/circleci: yarn_test--r=www-modern --env=development Your tests passed on CircleCI!
Details
ci/circleci: yarn_test--r=www-modern --env=development --variant Your tests passed on CircleCI!
Details
ci/circleci: yarn_test--r=www-modern --env=production Your tests passed on CircleCI!
Details
ci/circleci: yarn_test--r=www-modern --env=production --variant Your tests passed on CircleCI!
Details
ci/circleci: yarn_test_build---project=devtools -r=experimental Your tests passed on CircleCI!
Details
ci/circleci: yarn_test_build--r=experimental --env=development Your tests passed on CircleCI!
Details
ci/circleci: yarn_test_build--r=experimental --env=production Your tests passed on CircleCI!
Details
ci/circleci: yarn_test_build--r=stable --env=production Your tests passed on CircleCI!
Details
ci/codesandbox Building packages succeeded.
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

4 participants