-
Notifications
You must be signed in to change notification settings - Fork 55
feat: release readiness - smithy-kotlin branch check #1586
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
Changes from 2 commits
4bf546f
9a810cd
f29c55f
cbce7fb
4830edc
a599cf5
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,7 +1,7 @@ | ||
| name: Release readiness (snapshot dependency) | ||
|
|
||
| # Makes sure that we aren't relying on SNAPSHOT/dev versions of smithy-kotlin before merging | ||
| # Otherwise we could forget because the rest of CI is masking it | ||
| description: > | ||
| Makes sure that we aren't relying on SNAPSHOT/dev versions of smithy-kotlin before merging | ||
| otherwise we could forget because the rest of CI is masking it. | ||
|
|
||
| on: | ||
| pull_request: | ||
|
|
@@ -11,22 +11,61 @@ jobs: | |
| release-readiness: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Checkout sources | ||
| - name: Checkout source | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| path: 'aws-sdk-kotlin' | ||
| ref: '${{ github.head_ref }}' | ||
| fetch-depth: 0 | ||
|
||
|
|
||
| - name: Configure Gradle | ||
| uses: awslabs/aws-kotlin-repo-tools/.github/actions/configure-gradle@main | ||
| with: | ||
| working-directory: ./aws-sdk-kotlin | ||
|
|
||
| - name: Build SDK | ||
| working-directory: ./aws-sdk-kotlin | ||
| run: ./gradlew test jvmTest | ||
|
|
||
| - name: Build SDK client | ||
| working-directory: ./aws-sdk-kotlin | ||
| run: | | ||
| ./gradlew -Paws.kotlin.native=false -Paws.services=s3 bootstrap | ||
| ./gradlew -Paws.kotlin.native=false build | ||
|
|
||
| - name: Checkout smithy-kotlin | ||
| uses: awslabs/aws-kotlin-repo-tools/.github/actions/checkout-head@main | ||
| with: | ||
| path: 'smithy-kotlin' | ||
| repository: 'smithy-lang/smithy-kotlin' | ||
|
|
||
| - name: Check for smithy-kotlin unreleased changes | ||
| run: | | ||
| cd aws-sdk-kotlin | ||
| SDK_BRANCH=$(git branch --show-current) | ||
| echo "aws-sdk-kotlin branch: $SDK_BRANCH" | ||
|
|
||
| cd ../smithy-kotlin | ||
| SMITHY_KOTLIN_BRANCH=$(git branch --show-current) | ||
| echo "smithy-kotlin branch: $SMITHY_KOTLIN_BRANCH" | ||
|
|
||
| if [ "$SDK_BRANCH" == "$SMITHY_KOTLIN_BRANCH" ]; then | ||
| cd ../aws-sdk-kotlin | ||
| git fetch origin | ||
|
|
||
| DIFF=$(git diff origin/main -- gradle/libs.versions.toml | grep '^[-+][^-+]'; exit 0) | ||
| SMITHY_KOTLIN_VERSION_BUMP=$(echo "$DIFF" | grep "smithy-kotlin-runtime-version =\|smithy-kotlin-codegen-version ="; exit 0) | ||
|
|
||
| if [ -z "$SMITHY_KOTLIN_VERSION_BUMP" ]; then | ||
| echo "::error::Matching smithy-kotlin and aws-sdk-kotlin branches but no smithy-kotlin version bump" | ||
| exit 1 | ||
| else | ||
| echo "::warning::Matching smithy-kotlin and aws-sdk-kotlin branches with smithy-kotlin version bump detected" | ||
|
||
| fi | ||
| fi | ||
|
|
||
| - name: Emit error message | ||
| if: ${{ failure() }} | ||
| run: | | ||
| echo "::error ::Build failed. Did you forget to release smithy-kotlin and bump the dependency version?" | ||
| echo "::error::Did you forget to release smithy-kotlin and bump the dependency version?" | ||
| exit 1 | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this configuration necessary? I think it's the default behavior:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think so, when I was testing and making changes before,
git branch --show-currentwas failing because the default behavior is to checkout a commit only not the whole branch.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of using
git branch --show-currentcan't you just use theGITHUB_HEAD_REFenvironment variable that's set by default? https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/store-information-in-variables#default-environment-variables