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
4 changes: 4 additions & 0 deletions .github/workflows/performance-benchmarks-go.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,15 @@
name: Performance Benchmarks Go

on:
pull_request:
paths:
- ".github/workflows/performance-benchmarks-go.yml"
workflow_call:
inputs:
dafny:
description: "The Dafny version to run"
required: true
default: '4.9.0'
type: string
regenerate-code:
description: "Regenerate code using smithy-dafny"
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/performance-benchmarks-java.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
name: Performance Benchmarks Go

on:
pull_request:
paths:
- ".github/workflows/performance-benchmarks-java.yml"
workflow_call:

jobs:
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/performance-benchmarks-net.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,15 @@
name: Performance Benchmarks Net

on:
pull_request:
paths:
- ".github/workflows/performance-benchmarks-net.yml"
workflow_call:
inputs:
dafny:
description: "The Dafny version to run"
required: true
default: '4.9.0'
type: string
regenerate-code:
description: "Regenerate code using smithy-dafny"
Expand Down Expand Up @@ -59,7 +63,7 @@ jobs:
- name: Setup Dafny
uses: ./mpl/.github/actions/setup_dafny
with:
dafny-version: ${{ inputs.dafny }}
dafny-version: ${{ inputs.dafny.default }}

- name: Install Smithy-Dafny codegen dependencies
uses: ./.github/actions/install_smithy_dafny_codegen_dependencies
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/performance-benchmarks-python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
name: Performance Benchmarks Go

on:
pull_request:
paths:
- ".github/workflows/performance-benchmarks-python.yml"
workflow_call:

jobs:
Expand Down
86 changes: 40 additions & 46 deletions .github/workflows/performance-benchmarks-rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
name: Performance Benchmarks Rust

on:
pull_request:
paths:
- ".github/workflows/performance-benchmarks-rust.yml"
workflow_call:
inputs:
dafny:
Expand All @@ -21,12 +24,7 @@ jobs:
matrix:
library: [AwsEncryptionSDK]
benchmark-dir: [esdk-performance-testing]
os: [
ubuntu-22.04,
# TODO: Re-enable macOS after https://t.corp.amazon.com/P205755286
# macos-15,
]
runs-on: ${{ matrix.os }}
runs-on: codebuild-AWS-ESDK-Performance-${{ github.run_id }}-${{ github.run_attempt }}
permissions:
id-token: write
contents: read
Expand All @@ -53,46 +51,42 @@ jobs:
with:
components: rustfmt

- name: Setup Dafny
uses: ./mpl/.github/actions/setup_dafny
with:
dafny-version: 4.10.0

- name: Setup Java 17 for codegen
uses: actions/setup-java@v5
with:
distribution: "corretto"
java-version: "17"

- name: Setup NASM for Windows (aws-lc-sys)
if: matrix.os == 'windows-latest'
uses: ilammy/setup-nasm@v1

- name: Install Smithy-Dafny codegen dependencies
uses: ./.github/actions/install_smithy_dafny_codegen_dependencies

- name: Regenerate code using smithy-dafny if necessary
if: ${{ inputs.regenerate-code }}
uses: ./.github/actions/polymorph_codegen
with:
dafny: ${{ env.DAFNY_VERSION }}
library: ${{ matrix.library }}
diff-generated-code: false
update-and-regenerate-mpl: true

- name: Run make polymorph_rust
shell: bash
working-directory: ${{ matrix.library }}
run: |
make polymorph_rust

- name: Compile ${{ matrix.library }} implementation
shell: bash
working-directory: ${{ matrix.library }}
run: |
# This works because `node` is installed by default on GHA runners
CORES=$(node -e 'console.log(os.cpus().length)')
make transpile_rust CORES=$CORES
#- name: Setup Dafny
# uses: ./mpl/.github/actions/setup_dafny
# with:
# dafny-version: 4.10.0

#- name: Setup Java 17 for codegen
# uses: actions/setup-java@v5
# with:
# distribution: "corretto"
# java-version: "17"

#- name: Install Smithy-Dafny codegen dependencies
# uses: ./.github/actions/install_smithy_dafny_codegen_dependencies

#- name: Regenerate code using smithy-dafny if necessary
# if: ${{ inputs.regenerate-code }}
# uses: ./.github/actions/polymorph_codegen
# with:
# dafny: ${{ env.DAFNY_VERSION }}
# library: ${{ matrix.library }}
# diff-generated-code: false
# update-and-regenerate-mpl: true

#- name: Run make polymorph_rust
# shell: bash
# working-directory: ${{ matrix.library }}
# run: |
# make polymorph_rust

#- name: Compile ${{ matrix.library }} implementation
# shell: bash
# working-directory: ${{ matrix.library }}
# run: |
# # This works because `node` is installed by default on GHA runners
# CORES=$(node -e 'console.log(os.cpus().length)')
# make transpile_rust CORES=$CORES

- name: Run Performance Benchmarks - Quick Mode
shell: bash
Expand Down
4 changes: 2 additions & 2 deletions esdk-performance-testing/benchmarks/rust/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ path = "src/main.rs"

[dependencies]
# AWS Encryption SDK
# aws-esdk = { path = "/Users/ajewell/esdk_rust/esdk" }
aws-esdk = { path = "../../../AwsEncryptionSDK/runtimes/rust" }
#aws-esdk = { path = "../../../AwsEncryptionSDK/runtimes/rust" }
aws-esdk = "1.2.2"

# Async runtime
tokio = { version = "1.49", features = ["full"] }
Expand Down
Loading