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 SDK to 0.20.0 #1497

Merged
merged 5 commits into from
Apr 26, 2021
Merged

update SDK to 0.20.0 #1497

merged 5 commits into from
Apr 26, 2021

Conversation

bcressey
Copy link
Contributor

Issue number:
Fixes #1455, fixes #582

Description of changes:
Update to the latest SDK, with new versions of GCC, Rust, and Go.

Retrieve the SDK and toolchain as containers from ECR, rather than archives from S3.

Fix minor issues related to the new Fedora base image and the new version of Go.

Use cargo deny from the SDK.

Testing done:
Verified that local builds of aws-dev worked under KVM for both arches.

For aws-ecr-1 and aws-k8s-1.19, confirmed that:

  • x86_64 builds for both x86_64 and aarch64 build and run containers
  • aarch64 builds for both x86_64 and aarch64 build and run containers

Terms of contribution:

By submitting this pull request, I agree that this contribution is dual-licensed under the terms of both the Apache License, version 2.0, and the MIT license.

Makefile.toml Outdated Show resolved Hide resolved
@bcressey
Copy link
Contributor Author

(rebase with no changes)

Makefile.toml Outdated Show resolved Hide resolved
Copy link
Contributor

@tjkirch tjkirch left a comment

Choose a reason for hiding this comment

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

LGTM modulo the test commit.

@@ -157,6 +157,7 @@ done
[tasks.fetch]
dependencies = [
"fetch-sdk",
"fetch-toolchain",
Copy link
Contributor

Choose a reason for hiding this comment

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

I wonder if we're losing useful granularity with this "fetch" task. There are a number of places we have granular fetch-* dependencies, and a few places that just fetch everything, and I think most of them wouldn't need the toolchain, for example.

If it were more granular, I think the user wouldn't need to change their Docker config unless they were building a kmod kit...

Copy link
Contributor Author

Choose a reason for hiding this comment

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

In the kmod kit rework for supporting multiple kernels, I ended up needing the toolchain for variant builds since that's the point in time where we have the information we need about the kernel we're installing in the image.

Signed-off-by: Ben Cressey <bcressey@amazon.com>
Go 1.16 defaults to GO111MODULE="on", but this breaks builds if the
project has not adopted modules yet.

See upstream discussion:
  golang/go#41330

Signed-off-by: Ben Cressey <bcressey@amazon.com>
Support for bare words in expressions was removed in rpm 4.16.

Signed-off-by: Ben Cressey <bcressey@amazon.com>
This build produces a mix of host tools and target modules, and new
versions of RPM build scripts from Fedora will attempt to strip both.
When cross-compiling, there's no single version of `strip` that can
do this successfully, and this now fails when building on an x86_64
host for the aarch64 target.

We only use the tools and modules to generate the bootloader images,
and they are not shipped anywhere. Hence we do not really care about
extracting debuginfo and can just leave the files unstripped.

Signed-off-by: Ben Cressey <bcressey@amazon.com>
The SDK and toolchain are now vended as containers, so we pull them
from ECR rather than from S3.

The SDK includes `cargo deny`, so we use its copy and no longer need
it to be installed on the build host.

Signed-off-by: Ben Cressey <bcressey@amazon.com>
@bcressey
Copy link
Contributor Author

(rebase with no changes)

@bcressey bcressey marked this pull request as ready for review April 26, 2021 17:03
@bcressey bcressey merged commit 1013515 into bottlerocket-os:develop Apr 26, 2021
@bcressey bcressey deleted the sdk-bump branch April 26, 2021 17:06
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: update to the latest SDK release Install and lock to specific versions of build tools
4 participants