prepare for all services release (#607)

* prepare for all services release

- denylist glacier & iotdevice manager which are known to not work pending custom SDK work
- update CI job to have the all-service artifact be named `aws-sdk` and the smaller tier1 artifact be named `tier1`

* fix ci, update changelog

* Update .github/workflows/ci.yaml

* Error on disabled service mismatch & fix typo

* update changelog entry with suggestions

Co-authored-by: John DiSanti <jdisanti@amazon.com>
This commit is contained in:
Russell Cohen 2021-07-27 19:35:55 -04:00 committed by GitHub
parent b0d68dd120
commit afa09008b5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 26 additions and 10 deletions

View File

@ -182,7 +182,7 @@ jobs:
- uses: actions/upload-artifact@v2
name: Upload SDK Artifact
with:
name: aws-sdk-${{ env.name }}-${{ github.sha }}
name: aws-sdk-${{ env.name }}-tier1-${{ github.sha }}
path: sdk.tar
check-sdk:
@ -201,7 +201,7 @@ jobs:
- uses: actions/download-artifact@v2
name: Download SDK Artifact
with:
name: aws-sdk-${{ env.name }}-${{ github.sha }}
name: aws-sdk-${{ env.name }}-tier1-${{ github.sha }}
path: artifact
- name: untar
run: mkdir aws-sdk && cd aws-sdk && tar -xvf ../artifact/sdk.tar
@ -237,7 +237,7 @@ jobs:
- uses: actions/download-artifact@v2
name: Download SDK Artifact
with:
name: aws-sdk-${{ env.name }}-${{ github.sha }}
name: aws-sdk-${{ env.name }}-tier1-${{ github.sha }}
path: artifact
- name: untar
run: mkdir aws-sdk && cd aws-sdk && tar -xvf ../artifact/sdk.tar
@ -281,7 +281,7 @@ jobs:
- uses: actions/download-artifact@v2
name: Download SDK Artifact
with:
name: aws-sdk-${{ env.name }}-${{ github.sha }}
name: aws-sdk-${{ env.name }}-tier1-${{ github.sha }}
path: artifact
- name: untar
run: mkdir aws-sdk && cd aws-sdk && tar -xvf ../artifact/sdk.tar
@ -313,7 +313,7 @@ jobs:
- uses: actions/download-artifact@v2
name: Download SDK Artifact
with:
name: aws-sdk-${{ env.name }}-${{ github.sha }}
name: aws-sdk-${{ env.name }}-tier1-${{ github.sha }}
path: artifact
- name: untar
run: mkdir aws-sdk && cd aws-sdk && tar -xvf ../artifact/sdk.tar
@ -356,5 +356,5 @@ jobs:
- uses: actions/upload-artifact@v2
name: Upload SDK Artifact
with:
name: aws-sdk-${{ env.name }}-allservices-${{ github.sha }}
name: aws-sdk-${{ env.name }}-${{ github.sha }}
path: sdk.tar

View File

@ -7,7 +7,8 @@
for most users. (#608)
**New This Week**
- :bug: Bugfix: Fix parsing bug where whitespace was stripped when parsing XML (#590)
- :tada: Release all but three remaining AWS services! Glacier, IoT Data Plane and Transcribe streaming will be available in a future release. If you discover that a service isn't functioning as expected please let us know! (#607)
- :bug: Bugfix: Fix parsing bug where parsing XML incorrectly stripped whitespace (#590, aws-sdk-rust#153)
- Establish common abstraction for environment variables (#594)
- Add windows to the test matrix (#594)
- (When complete) Add profile file provider for region (#594, #xyz)

View File

@ -94,7 +94,15 @@ val tier1Services = setOf(
"sts"
)
private val disableServices = setOf("transcribestreaming")
private val disableServices = setOf(
// transcribe streaming contains exclusively EventStream operations which are not supported
"transcribestreaming",
// Glacier requires a customization which is not currently supported:
// https://github.com/awslabs/smithy-rs/issues/137
"glacier",
// https://github.com/awslabs/smithy-rs/issues/606
"iotdataplane"
)
data class AwsService(
val service: String,
@ -129,7 +137,7 @@ val awsServices: Provider<List<AwsService>> = generateAllServices.zip(generateOn
*/
fun discoverServices(allServices: Boolean, generateOnly: Set<String>): List<AwsService> {
val models = project.file("aws-models")
val services = fileTree(models)
val baseServices = fileTree(models)
.sortedBy { file -> file.name }
.mapNotNull { file ->
val model = Model.assembler().addImport(file.absolutePath).assemble().result.get()
@ -157,7 +165,14 @@ fun discoverServices(allServices: Boolean, generateOnly: Set<String>): List<AwsS
}
AwsService(service = service.id.toString(), module = sdkId, modelFile = file, extraFiles = extras)
}
}.filterNot {
}
val baseModules = baseServices.map { it.module }.toSet()
disableServices.forEach{ disabledService ->
check(baseModules.contains(disabledService)) {
"Service $disabledService was explicitly disabled but no service was generated with that name. Generated:\n ${baseModules.joinToString("\n ")}"
}
}
val services = baseServices.filterNot {
disableServices.contains(it.module)
}.filter {
val inGenerateOnly = generateOnly.isNotEmpty() && generateOnly.contains(it.module)