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

build: build cross toolchains #65966

Merged
merged 1 commit into from
Jun 3, 2021

Conversation

rickystewart
Copy link
Collaborator

The overwhelming majority of the time spent in building the builder
image comes from the cross toolchains. Here we separate out the
toolchain build into a separate step and package them as .tar.gz's
that we simply download and install during the Docker image build.
This also opens up the opportunity to use the same toolchains in the
Bazel build, although consuming these toolchain artifacts from the Bazel
build is a follow-up project.

Closes #65351.

Release note: None

@rickystewart rickystewart added the do-not-merge bors won't merge a PR with this label. label Jun 1, 2021
@cockroach-teamcity
Copy link
Member

This change is Reviewable

@rickystewart rickystewart force-pushed the cross_linux_build2 branch 3 times, most recently from 859c1c3 to 16b39e1 Compare June 2, 2021 15:20
The overwhelming majority of the time spent in building the builder
image comes from the cross toolchains. Here we separate out the
toolchain build into a separate step and package them as `.tar.gz`'s
that we simply download and install during the Docker image build.
This also opens up the opportunity to use the same toolchains in the
Bazel build, although consuming these toolchain artifacts from the Bazel
build is a follow-up project.

Closes cockroachdb#65351.

Release note: None
@rickystewart rickystewart removed the do-not-merge bors won't merge a PR with this label. label Jun 2, 2021
@rickystewart rickystewart requested a review from rail June 2, 2021 16:25
@rickystewart
Copy link
Collaborator Author

This PR is basically a do-over of #65406.

@rickystewart rickystewart mentioned this pull request Jun 2, 2021
Copy link
Member

@rail rail left a comment

Choose a reason for hiding this comment

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

Let's try it again!

@rickystewart
Copy link
Collaborator Author

bors r=rail

@craig
Copy link
Contributor

craig bot commented Jun 3, 2021

Build failed (retrying...):

@craig
Copy link
Contributor

craig bot commented Jun 3, 2021

Build succeeded:

@craig craig bot merged commit 0f0c5d0 into cockroachdb:master Jun 3, 2021
rickystewart added a commit to rickystewart/cockroach that referenced this pull request Jun 3, 2021
In cockroachdb#65966, we published these toolchains to a storage bucket in GCP.
This demonstrates how we can consume these same toolchains in Bazel for
cross-compilation.

These can be activated with:

    build --crosstool_top=@toolchain_cross_x86_64-unknown-linux-gnu//:suite

... or substitute `x86_64-unknown-linux-gnu` for another target name.

I've verified the Linux toolchain works. The others break during
compilation for various reasons that I haven't looked at closely, but I
wanted to get this landed so we can iterate on those/maybe parallelize
across a couple different people.

The Darwin toolchain isn't generated by `crosstool-ng`, so it's
structured a little differently than the others. I'll add that in a
follow-up PR.

See cockroachdb#56072

Release note: None
craig bot pushed a commit that referenced this pull request Jun 7, 2021
65525: sql: Add support for drop table inside the new schema changer r=ajwerner a=fqazi

 sql: Initial support for DROP TABLE in new schema changer

  Previously, the logic for DROP table was completely imperative,
  which would make it hard to implement features like transactional
  schema changes in the future. To address this, this patch
  adds initial support for DROP TABLE with support for clearing
  out type back references and foreign key. Basic structures for
  tracking and adding secondary indexes are also introduced.


65766: builtins: improve performance of has_table_privilege and has_column_privilege r=richardjcai a=otan

See individual commits for details

Resolves #65551

66066: bazel: sketch out cross toolchains for all platforms except darwin r=rail a=rickystewart

In #65966, we published these toolchains to a storage bucket in GCP.
This demonstrates how we can consume these same toolchains in Bazel for
cross-compilation.

These can be activated with:

    build --crosstool_top=@toolchain_cross_x86_64-unknown-linux-gnu//:suite

... or substitute `x86_64-unknown-linux-gnu` for another target name.

I've verified the Linux toolchain works. The others break during
compilation for various reasons that I haven't looked at closely, but I
wanted to get this landed so we can iterate on those/maybe parallelize
across a couple different people.

The Darwin toolchain isn't generated by `crosstool-ng`, so it's
structured a little differently than the others. I'll add that in a
follow-up PR.

See #56072

Release note: None

66137: ccl/sqlproxyccl: use new denylist format in proxy handler r=meridional a=meridional

The new format was added in
#64957,
which supports expiration of denylist entries based on
timestamps.

Release note: None

Co-authored-by: Faizan Qazi <[email protected]>
Co-authored-by: Oliver Tan <[email protected]>
Co-authored-by: Ricky Stewart <[email protected]>
Co-authored-by: Ye Ji <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

build: pull build of cross toolchains into a separate step outside of the builder image
3 participants