mirror of https://github.com/smithy-lang/smithy-rs
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:
parent
b0d68dd120
commit
afa09008b5
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue