Skip to content

Conversation

maddeleine
Copy link
Contributor

Release Summary:

Resolved issues:

Description of changes:

Adds a new buildspec that builds s2n-tls with aws-lc and runs the unit tests. We will be using this buildspec in our CI on our new Ubuntu25 codebuild project. With this newest build we will be able to do KTLS key updates. This buildspec is roughly the same as the existing ktls buildspec, but with several steps removed. Those steps are not necessary for the fleet we're using for ktls_keyupdates, because we now know how to create an AMI where those steps have already been performed. You can see a successful run of this buildspec here.

Call-outs:

I need this buildspec in our CI before I start opening ktls keyupdate PRs. Once this PR is merged I can change the build to use this buildspec.

Testing:

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@maddeleine maddeleine requested a review from dougch as a code owner August 22, 2025 00:18
@github-actions github-actions bot added the s2n-core team label Aug 22, 2025
@maddeleine maddeleine requested a review from lrstewart August 22, 2025 00:18
Copy link
Contributor

Choose a reason for hiding this comment

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

This does duplicates a lot from https://github.com/aws/s2n-tls/blob/main/codebuild/spec/buildspec_ktls.yml

  1. Is https://github.com/aws/s2n-tls/blob/main/codebuild/spec/buildspec_ktls.yml#L34-L44 actually necessary? Could both use the simpler spec?
  2. If the old spec still needs all the extra stuff, can we make that conditional? Either probe for info about the environment, or control it with an environment variable set in the Codebuild job itself?

Idk this just seems like very complicated build logic to duplicate :(

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think we're able to remove those lines because Doug now has a script that will run those lines before creating the AMI snapshot. So my guess is that we would need to recreate the existing KTLS fleet in order to also use this newer slimmer buildspec (@dougch should probably weigh in on this).
I dunno, adding a branch to the build logic would be 🤮 . We totally could do it, we'd just have to branch for like, either ubuntu25 or al2023.

Copy link
Contributor

Choose a reason for hiding this comment

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

If we recreate the existing ktls fleet and delete the existing ktls buildspec as a follow-up to this, then I think I'm happy with that plan. Otherwise, I'd prefer the explicit branch on al2023 to gate the ugly setup logic. It should just be one if, and it'd make the behavior between the two builds really clear.

Copy link
Contributor

Choose a reason for hiding this comment

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

Yes, I've signed up to rebuild the existing AL2023 fleets, then we can def. consolidate on a single kTLS buildspec in a future PR. Points for consistency.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Okay so it seems like Doug was already planning on recreating the existing ktls fleet. So we should commit this PR and delete the existing buildspec.

Copy link
Contributor

Choose a reason for hiding this comment

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

Can we open and link an issue to track that work?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Opened an issue: #5483

@maddeleine maddeleine requested a review from lrstewart August 22, 2025 20:13
@maddeleine maddeleine changed the title chore: Adds build files to get new codebuild project running in CI chore: Adds build file to get new codebuild project running in CI Aug 25, 2025
@maddeleine maddeleine added this pull request to the merge queue Aug 25, 2025
Merged via the queue into aws:main with commit d7aea50 Aug 25, 2025
50 checks passed
@maddeleine maddeleine deleted the ktls_buildspec branch August 25, 2025 19:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants