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

chore: add release checks #1069

Merged
merged 23 commits into from
Oct 11, 2023
Merged

chore: add release checks #1069

merged 23 commits into from
Oct 11, 2023

Conversation

aajtodd
Copy link
Collaborator

@aajtodd aajtodd commented Oct 9, 2023

Issue #

n/a

upstream: awslabs/aws-kotlin-repo-tools#17

Description of changes

Adds additional CI checks to try and detect if we depend on unreleased changes. Previously we released the SDK and smithy-kotlin together as needed. Automated daily releases requires the repository always be in a releasable state. This means that features that span repos and depend on corresponding smithy-kotlin changes will not be able to be merged to main until they've made it into an official smithy-kotlin release.

Additionally I've refactored the overall GH workflows a bit:

  • Added a new composite build to setup our dependencies at the correct versions. This relies on re-usable composite action to pull dependency versions aws-kotlin-repo-tools#17.
  • remove dependency on CRT builder (at least for GH actions). Using the new re-usable composite action we can fetch the correct version of smithy-kotlin and just use it as an included build rather than go through CRT builder to do all this.
  • Restructure our CI to build with JDK 17 but to run tests on many JVM versions. The new release check doesn't use the HEAD version of smithy-kotlin and the released maven version is built requiring JDK 17. In practice that is our actual min JDK version to build codegen right now. JDK 17 is what we build and release with.
  • Improved the ability to cancel tests in-flight. Often I'll forget something after creating a PR or making a change that requires pushing another commit. I've added concurrency of 1 to most workflows such that previous builds are cancelled and new ones started with the latest commit (rather than needlessly running to completion).

NOTE: If you locally use < JDK 17 you'll need to update to JDK 17 after this lands.

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

@aajtodd aajtodd added the no-changelog Indicates that a changelog entry isn't required for a pull request. Use sparingly. label Oct 9, 2023
@aajtodd aajtodd requested a review from a team as a code owner October 9, 2023 17:30
@github-actions
Copy link

A new generated diff is ready to view.

  • No codegen difference in the AWS SDK

@github-actions
Copy link

A new generated diff is ready to view.

  • No codegen difference in the AWS SDK

Comment on lines +16 to +21
- name: Checkout smithy-kotlin
uses: ./aws-kotlin-repo-tools/.github/actions/checkout-head
with:
# checkout smithy-kotlin as a sibling which will automatically make it an included build
path: 'smithy-kotlin'
repository: 'awslabs/smithy-kotlin'
Copy link
Contributor

Choose a reason for hiding this comment

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

Question: Do we also need to checkout aws-crt-kotlin?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I think ideally this would be handled by improving this tooling. Right now we don't update aws-crt-kotlin often enough or with large enough changes that it's worth considering at the moment. I'm thinking we revisit this when it's a problem and we need it (likely as we pursue other KMP targets).

Copy link
Contributor

@ianbotsf ianbotsf left a comment

Choose a reason for hiding this comment

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

Question: Do we also need a version of this PR for smithy-kotlin to only used released versions of aws-crt-kotlin?

Nvm, I see smithy-lang/smithy-kotlin#974 now. 😖

Comment on lines 48 to 49
matrix:
os: [ ubuntu-latest, macos-latest, windows-2019 ]
Copy link
Contributor

Choose a reason for hiding this comment

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

Question: I notice that the smithy-kotlin PR uses windows-latest while this explicitly uses windows-2019 (which is not the latest). Should it be upgraded to windows-latest too?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I don't recall why this one is set to 2019, I can try windows-latest though and see what shakes out.

@sonarqubecloud
Copy link

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

@github-actions
Copy link

A new generated diff is ready to view.

  • No codegen difference in the AWS SDK

@aajtodd aajtodd merged commit 3d1d564 into main Oct 11, 2023
17 of 18 checks passed
@aajtodd aajtodd deleted the release-checks branch October 23, 2023 13:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
no-changelog Indicates that a changelog entry isn't required for a pull request. Use sparingly.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants