Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
244 changes: 0 additions & 244 deletions .github/workflows/codebuild-ci.yml

This file was deleted.

41 changes: 41 additions & 0 deletions .github/workflows/e2e-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: E2E tests

on:
pull_request:
workflow_dispatch:

jobs:
e2e-tests:
runs-on: ubuntu-latest
steps:
- name: Configure credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.CI_AWS_ROLE_ARN }}
aws-region: us-west-2

- name: Tests
id: e2e-tests
uses: aws-actions/aws-codebuild-run-build@v1
with:
project-name: gh-aws-sdk-kotlin-e2e-tests
source-version-override: ${{ github.ref }}

- name: Cancel
if: ${{ cancelled() }}
env:
BUILD_ID: ${{ steps.e2e-tests.outputs.aws-build-id }}
run: |
if [ ! -z "$BUILD_ID"]; then
echo "Cancelling in-progress build: $BUILD_ID"
aws codebuild stop-build --id $BUILD_ID
fi
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true

permissions:
id-token: write
contents: read
Comment on lines +34 to +40
Copy link
Member

Choose a reason for hiding this comment

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

nit: these typically go at the top of the file


31 changes: 31 additions & 0 deletions .github/workflows/release-metrics.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Release metrics

on:
release:
types: [ published ]

jobs:
build-sdk:
runs-on: ubuntu-latest
steps:
- name: Configure credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.CI_AWS_ROLE_ARN }}
aws-region: us-west-2

- name: Build and upload metrics
env:
GITHUB_REPOSITORY: ${{ github.repository }}
UPLOAD: 'true'
RELEASE_METRICS: 'true'
IDENTIFIER: 'null' # Only needed for pull requests
uses: aws-actions/aws-codebuild-run-build@v1
with:
project-name: aws-sdk-kotlin-service-build
source-version-override: ${{ github.ref }}
env-vars-for-codebuild: GITHUB_REPOSITORY, UPLOAD, RELEASE_METRICS, IDENTIFIER

permissions:
id-token: write
contents: read
53 changes: 53 additions & 0 deletions .github/workflows/service-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Service CI

on:
pull_request:
workflow_dispatch:

jobs:
build-sdk:
runs-on: ubuntu-latest
steps:
- name: Configure credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.CI_AWS_ROLE_ARN }}
aws-region: us-west-2

- name: Build and upload metrics
id: build
env:
GITHUB_REPOSITORY: ${{ github.repository }}
UPLOAD: 'true'
RELEASE_METRICS: 'false'
IDENTIFIER: ${{ github.ref_name }}
uses: aws-actions/aws-codebuild-run-build@v1
with:
project-name: aws-sdk-kotlin-service-build
source-version-override: ${{ github.ref }}
env-vars-for-codebuild: GITHUB_REPOSITORY, UPLOAD, RELEASE_METRICS, IDENTIFIER

- name: Process metrics
uses: awslabs/aws-kotlin-repo-tools/.github/actions/artifact-size-metrics/download-and-process@asm-v2 # TODO: Change to main before merging
with:
download: 'true'

- name: Cancel
if: ${{ cancelled() }}
env:
BUILD_ID: ${{ steps.build.outputs.aws-build-id }}
run: |
if [ ! -z "$BUILD_ID"]; then
echo "Cancelling in-progress build: id=$BUILD_ID"
aws codebuild stop-build --id $BUILD_ID
fi

concurrency:
group: ${{ github.ref }}
cancel-in-progress: true

permissions:
pull-requests: write
id-token: write
contents: read

8 changes: 0 additions & 8 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -34,14 +34,6 @@ plugins {
// ensure the correct version of KGP ends up on our buildscript classpath
id(libs.plugins.kotlin.multiplatform.get().pluginId) apply false
id(libs.plugins.kotlin.jvm.get().pluginId) apply false
alias(libs.plugins.aws.kotlin.repo.tools.artifactsizemetrics)
}

artifactSizeMetrics {
artifactPrefixes = setOf(":services", ":aws-runtime")
Copy link
Member

Choose a reason for hiding this comment

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

How are we filtering the artifact size computation to only these projects now?

Copy link
Contributor Author

@0marperez 0marperez Oct 8, 2025

Choose a reason for hiding this comment

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

We're not filtering for artifacts from those two projects anymore. Now we're filtering for artifacts that are configured for publishing to Maven. Our updated codebuild service check job does this by running publishAllPublicationsToTestLocalRepository and then looking in the test local repository.

It should be better because we won't have to maintain hard coded lists anymore like this one. We never updated this to include hll's.

Copy link
Member

Choose a reason for hiding this comment

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

Ok right, that sounds great

closurePrefixes = setOf(":services")
significantChangeThresholdPercentage = 5.0
projectRepositoryName = "aws-sdk-kotlin"
}

val testJavaVersion = typedProp<String>("test.java.version")?.let {
Expand Down
1 change: 0 additions & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -155,5 +155,4 @@ kotlinx-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", vers
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp-version" }
aws-kotlin-repo-tools-kmp = { id = "aws.sdk.kotlin.gradle.kmp", version.ref = "aws-kotlin-repo-tools-version" }
aws-kotlin-repo-tools-smithybuild = { id = "aws.sdk.kotlin.gradle.smithybuild", version.ref = "aws-kotlin-repo-tools-version" }
aws-kotlin-repo-tools-artifactsizemetrics = { id = "aws.sdk.kotlin.gradle.artifactsizemetrics", version.ref = "aws-kotlin-repo-tools-version" }
gradle-plugin-publish = { id = "com.gradle.plugin-publish", version = "1.2.1"}
Loading