Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
114 commits
Select commit Hold shift + click to select a range
d2baee1
progress
josecorella Dec 3, 2024
7574c61
wip
lucasmcdonald3 Dec 12, 2024
893b4f9
python
lucasmcdonald3 Dec 12, 2024
7b52e4b
m
lucasmcdonald3 Dec 13, 2024
6a33fb3
m
lucasmcdonald3 Dec 13, 2024
65fe119
m
lucasmcdonald3 Dec 13, 2024
6805e2c
m
lucasmcdonald3 Dec 13, 2024
9db601a
m
lucasmcdonald3 Dec 13, 2024
cbc9e7d
m
lucasmcdonald3 Dec 13, 2024
470c8a7
m
lucasmcdonald3 Dec 13, 2024
bceac3b
m
lucasmcdonald3 Dec 13, 2024
bdc7446
m
lucasmcdonald3 Dec 13, 2024
b86db44
m
lucasmcdonald3 Dec 13, 2024
6978b07
m
lucasmcdonald3 Dec 13, 2024
30ae621
m
lucasmcdonald3 Dec 13, 2024
c691298
expected to pass with failfast
lucasmcdonald3 Dec 13, 2024
110c6d9
expected to fail with failfast
lucasmcdonald3 Dec 13, 2024
31a842a
normal
lucasmcdonald3 Dec 13, 2024
3b2e22c
m
josecorella Feb 14, 2025
7c5e28e
m
josecorella Feb 14, 2025
233f993
godbless reflog
josecorella Feb 14, 2025
40844b2
m
josecorella Feb 14, 2025
c80fe8e
m
josecorella Feb 14, 2025
72909f8
m
josecorella Feb 14, 2025
4a2c274
m
josecorella Feb 14, 2025
523905a
sigh
josecorella Feb 14, 2025
da30e6f
m
josecorella Feb 14, 2025
3207987
m
josecorella Feb 14, 2025
be3bc20
m
josecorella Feb 14, 2025
8af4ddd
m
josecorella Feb 14, 2025
cfa2aa7
m
josecorella Feb 14, 2025
25c95ee
chore(TestVectors): Replace Dafny ESDK-Python with native ESDK-Python…
lucasmcdonald3 Feb 14, 2025
817e3f2
m
lucasmcdonald3 Feb 14, 2025
e6a30d6
m
lucasmcdonald3 Feb 14, 2025
9f4b2fc
m
lucasmcdonald3 Feb 14, 2025
43b5297
m
lucasmcdonald3 Feb 14, 2025
a87409a
m
lucasmcdonald3 Feb 17, 2025
f0d5898
m
lucasmcdonald3 Feb 17, 2025
ff43673
m
lucasmcdonald3 Feb 17, 2025
83b50ee
clean
lucasmcdonald3 Feb 17, 2025
a1d864b
m
lucasmcdonald3 Feb 17, 2025
6dcf5ec
m
lucasmcdonald3 Feb 17, 2025
6b70388
mpl main
lucasmcdonald3 Feb 17, 2025
25053a5
m
lucasmcdonald3 Feb 17, 2025
b473d70
m
lucasmcdonald3 Feb 17, 2025
dadb633
m
lucasmcdonald3 Feb 17, 2025
6d67977
m
lucasmcdonald3 Feb 17, 2025
822e30e
m
lucasmcdonald3 Feb 17, 2025
bbb1c56
m
lucasmcdonald3 Feb 17, 2025
62077e5
permissions
josecorella Feb 14, 2025
b77289f
update vectors
josecorella Feb 14, 2025
7b4d7f1
http
josecorella Feb 18, 2025
d8bc20c
maybe
josecorella Feb 18, 2025
bf4a536
a
josecorella Feb 18, 2025
e15d889
a
josecorella Feb 18, 2025
c4f9afc
p
josecorella Feb 18, 2025
602e6ec
m
josecorella Feb 18, 2025
a85e174
m
josecorella Feb 18, 2025
f59b71d
m
josecorella Feb 18, 2025
de684d2
use token
josecorella Feb 18, 2025
19a73bb
a
josecorella Feb 18, 2025
72e146b
m
josecorella Feb 18, 2025
a2f3db5
consolidate
josecorella Feb 18, 2025
19dfcb9
oopsie
josecorella Feb 18, 2025
8f750fd
m
josecorella Feb 18, 2025
69046aa
remove go, add python
josecorella Feb 18, 2025
4a8b372
m
josecorella Feb 18, 2025
e6423ca
add built esdk-python with fix
lucasmcdonald3 Feb 19, 2025
e551c2b
m
lucasmcdonald3 Feb 19, 2025
0fb47d2
m
lucasmcdonald3 Feb 19, 2025
97a9f85
point to newer mpl and add more tests
josecorella Feb 19, 2025
d7a7fc0
add legacy tests
josecorella Feb 19, 2025
21afba8
bump limit up
josecorella Feb 19, 2025
2f6263a
pass EC through
lucasmcdonald3 Feb 19, 2025
cf4d2e1
add nonascii AES key, bump mpl
lucasmcdonald3 Feb 19, 2025
81b5a14
add reproduced ec
lucasmcdonald3 Feb 19, 2025
5c84aff
m
josecorella Feb 19, 2025
b00fa78
add rest of tests
josecorella Feb 19, 2025
db7a182
m
josecorella Feb 19, 2025
52d99ba
mpl
josecorella Feb 19, 2025
f23421c
ping ring
lucasmcdonald3 Feb 19, 2025
c604c31
mpl
josecorella Feb 19, 2025
f0205eb
chore(testvector): Make testvectors run with MKP (#281)
rishav-karanjit Feb 20, 2025
b87b307
comment out
josecorella Feb 20, 2025
00a4d20
clean up
josecorella Feb 20, 2025
7ba52da
m
josecorella Feb 20, 2025
bf7d7d1
chore: fix python MKP test vectors (#285)
rishav-karanjit Feb 21, 2025
ec9f12a
chore(testvectors): add support for Java Master Key Providers (#280)
imabhichow Feb 21, 2025
d45214f
updates
josecorella Feb 21, 2025
58c3940
updates
josecorella Feb 21, 2025
53242b7
enable rawecdh
josecorella Feb 21, 2025
d7026c9
chore(test vector): add raw rsa and multikeyring mkp test (#286)
rishav-karanjit Feb 26, 2025
6f68cda
chore(CI): Add Go built from private ESDK JS branch to TestVectors (#…
lucasmcdonald3 Feb 27, 2025
3c64a1b
test(dafny): write manifests with only mkp and in legacy format (#289)
josecorella Mar 13, 2025
47ef03d
fix: CI
Mar 14, 2025
3238360
fix: CI
Mar 14, 2025
f7483bd
fix(CI): Empty commit
Mar 14, 2025
a14c89d
comment out java pull tests
josecorella Mar 14, 2025
7f399ae
fix(CI): Re-polymorph Go
Mar 14, 2025
89ae320
fix(CI): Re-polymorph dafny
Mar 14, 2025
745f27c
fix(CI): Disable macos
Mar 14, 2025
a42d659
fix(CI): Disable macos
Mar 15, 2025
1fdd17e
fix(CI): mpl token
Mar 15, 2025
9f6fcd1
point at mpl head
josecorella Mar 15, 2025
103af10
update rust example
josecorella Mar 15, 2025
22ea45d
feat(mpl): bump mpl
Mar 19, 2025
21fd979
feat(go): re-polymorph go
Mar 19, 2025
cfc8ef3
feat(go): mod tidy examples
Mar 19, 2025
ea80af7
feat(CI): enable Dafny of macos
Mar 19, 2025
52d152b
feat(CI): format_dafny
Mar 19, 2025
d1408e5
feat(CI): fix CI
Mar 19, 2025
6386bb2
feat(CI): fix CI
Mar 19, 2025
e9831aa
feat(CI): fix CI
Mar 20, 2025
89f8001
feat(CI): fix CI
Mar 20, 2025
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: 2 additions & 2 deletions .github/workflows/dafny_interop_test_net.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ jobs:
dotnet-version: "6.0.x"

- name: Setup MPL Dafny
uses: dafny-lang/setup-dafny-action@v1.8.0
uses: ./mpl/.github/actions/setup_dafny
with:
dafny-version: ${{ inputs.mpl-dafny }}

Expand Down Expand Up @@ -91,7 +91,7 @@ jobs:
make transpile_net CORES=$CORES

- name: Setup ESDK Dafny
uses: dafny-lang/setup-dafny-action@v1.8.0
uses: ./mpl/.github/actions/setup_dafny
with:
dafny-version: ${{ inputs.esdk-dafny}}

Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/dafny_interop_test_vector_net.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ jobs:
dotnet-version: "6.0.x"

- name: Setup MPL Dafny
uses: dafny-lang/setup-dafny-action@v1.8.0
uses: ./mpl/.github/actions/setup_dafny
with:
dafny-version: ${{ inputs.mpl-dafny }}

Expand Down Expand Up @@ -90,7 +90,7 @@ jobs:
make transpile_net CORES=$CORES

- name: Setup ESDK Dafny
uses: dafny-lang/setup-dafny-action@v1.8.0
uses: ./mpl/.github/actions/setup_dafny
with:
dafny-version: ${{ inputs.esdk-dafny}}

Expand Down Expand Up @@ -163,7 +163,7 @@ jobs:
dotnet-version: "6.0.x"

- name: Setup MPL Dafny
uses: dafny-lang/setup-dafny-action@v1.8.0
uses: ./mpl/.github/actions/setup_dafny
with:
dafny-version: ${{ inputs.mpl-dafny }}

Expand Down Expand Up @@ -197,7 +197,7 @@ jobs:
make transpile_net CORES=$CORES

- name: Setup ESDK Dafny
uses: dafny-lang/setup-dafny-action@v1.8.0
uses: ./mpl/.github/actions/setup_dafny
with:
dafny-version: ${{ inputs.esdk-dafny}}

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/library_codegen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
# and to translate version strings such as "nightly-latest"
# to an actual DAFNY_VERSION.
- name: Setup Dafny
uses: dafny-lang/setup-dafny-action@v1.8.0
uses: ./mpl/.github/actions/setup_dafny
with:
dafny-version: ${{ inputs.dafny }}

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/library_dafny_verification.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
dotnet-version: "6.0.x"

- name: Setup Dafny
uses: dafny-lang/setup-dafny-action@v1.8.0
uses: ./mpl/.github/actions/setup_dafny
with:
dafny-version: ${{ inputs.dafny }}

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/library_format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
submodules: recursive

- name: Setup Dafny
uses: dafny-lang/setup-dafny-action@v1.8.0
uses: ./mpl/.github/actions/setup_dafny
with:
dafny-version: ${{ inputs.dafny }}

Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/library_go_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ jobs:
# Sed script doesn't work properly on windows
# windows-latest,
ubuntu-22.04,
macos-13,
# TODO: Re-enable macOS after https://t.corp.amazon.com/P205755286
# macos-13,
]
runs-on: ${{ matrix.os }}
permissions:
Expand All @@ -50,7 +51,7 @@ jobs:
role-session-name: GoTests

- name: Setup Dafny
uses: dafny-lang/setup-dafny-action@v1.8.0
uses: ./mpl/.github/actions/setup_dafny
with:
dafny-version: ${{ inputs.dafny }}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,25 +14,29 @@ on:
default: false
type: boolean

# These interop tests are strictly only for Dafny based languages
# or Dafny integrated languages (ESDK-Java, ESDK-Python).
# Additionally, these tests produce the latest version of
# test vector manifests V5. These have the ability to state how to
# build negative test vectors and OnDecrypt constructions.
jobs:
generateEncryptVectors:
generateKeyringEncryptVectors:
strategy:
fail-fast: false
matrix:
library: [TestVectors]
os: [
# https://taskei.amazon.dev/tasks/CrypTool-5283
# windows-latest,
ubuntu-22.04,
macos-13,
]
language: [java, net, rust, go]
language: [java, net, rust, python, go]
# https://taskei.amazon.dev/tasks/CrypTool-5284
dotnet-version: ["6.0.x"]
runs-on: ${{ matrix.os }}
permissions:
id-token: write
contents: read

steps:
- name: Support longpaths on Git checkout
run: |
Expand All @@ -45,12 +49,11 @@ jobs:
aws-region: us-west-2
role-to-assume: arn:aws:iam::370957321024:role/GitHub-CI-Public-ESDK-Dafny-Role-us-west-2
role-session-name: InterOpTests
role-duration-seconds: 3600

- uses: actions/checkout@v3
# Not all submodules are needed.
# We manually pull the submodule we DO need.
- run: git submodule update --init libraries
- run: git submodule update --init --recursive mpl
- uses: actions/checkout@v4
with:
submodules: "recursive"

# Set up runtimes
- name: Setup .NET Core SDK ${{ matrix.dotnet-version }}
Expand All @@ -67,6 +70,17 @@ jobs:
distribution: "corretto"
java-version: 17

- name: Setup Python for running tests
if: matrix.language == 'python'
uses: actions/setup-python@v4
with:
python-version: 3.11
architecture: x64
- run: |
python -m pip install --upgrade pip
pip install --upgrade tox
pip install poetry

- name: Setup Rust Toolchain for GitHub CI
if: matrix.language == 'rust'
uses: actions-rust-lang/setup-rust-toolchain@v1.10.1
Expand All @@ -88,13 +102,13 @@ jobs:

- name: Setup Dafny Rust
if: matrix.language == 'rust'
uses: dafny-lang/setup-dafny-action@v1.8.0
uses: ./mpl/.github/actions/setup_dafny
with:
dafny-version: nightly-2025-01-30-7db1e5f

- name: Setup Dafny Not Rust
if: matrix.language != 'rust'
uses: dafny-lang/setup-dafny-action@v1.8.0
uses: ./mpl/.github/actions/setup_dafny
with:
dafny-version: ${{ inputs.dafny }}

Expand Down Expand Up @@ -144,6 +158,15 @@ jobs:
CORES=$(node -e 'console.log(os.cpus().length)')
make transpile_rust CORES=$CORES

- name: Build ${{ matrix.library }} implementation in Python
if: matrix.language == 'python'
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_python CORES=$CORES

- name: Build ${{ matrix.library }} implementation in Go
if: matrix.language == 'go'
shell: bash
Expand All @@ -162,20 +185,22 @@ jobs:
make purge_polymorph_code

- name: Setup gradle
if: matrix.language == 'java'
if: matrix.language == 'java_mkp' || matrix.language == 'java'
uses: gradle/gradle-build-action@v2
with:
gradle-version: 7.2

- name: Create Manifests
- name: Create Keyring Manifests
working-directory: ./${{ matrix.library }}
run: make test_generate_vectors_${{ matrix.language }}
# Only MKP manifests will be written in the legacy format
run: |
make test_generate_vectors_${{ matrix.language }}

- name: Create Encrypt Manifests
- name: Create Keyring Encrypt Manifests
working-directory: ./${{ matrix.library }}
run: make test_encrypt_vectors_${{ matrix.language }}

- name: Upload Encrypt Manifest and keys.json files
- name: Upload Keyring Encrypt Manifest and keys.json files
uses: actions/upload-artifact@v4
with:
name: ${{matrix.os}}_vector_artifact_${{matrix.language}}_${{github.sha}}
Expand All @@ -185,18 +210,18 @@ jobs:
./${{matrix.library}}/runtimes/${{matrix.language}}/ciphertexts

testInteroperablity:
needs: generateEncryptVectors
needs: generateKeyringEncryptVectors
strategy:
fail-fast: false
matrix:
library: [TestVectors]
os: [
# https://taskei.amazon.dev/tasks/CrypTool-5283
# windows-latest,
ubuntu-22.04,
macos-13,
]
encrypting_language: [java, net, rust, go]
decrypting_language: [java, net, rust, go]
encrypting_language: [java, net, rust, python, go]
decrypting_language: [java, net, rust, python, go]
# https://taskei.amazon.dev/tasks/CrypTool-5284
dotnet-version: ["6.0.x"]
runs-on: ${{ matrix.os }}
Expand All @@ -216,12 +241,11 @@ jobs:
aws-region: us-west-2
role-to-assume: arn:aws:iam::370957321024:role/GitHub-CI-Public-ESDK-Dafny-Role-us-west-2
role-session-name: InterOpTests
role-duration-seconds: 3600

- uses: actions/checkout@v3
# Not all submodules are needed.
# We manually pull the submodule we DO need.
- run: git submodule update --init libraries
- run: git submodule update --init --recursive mpl
- uses: actions/checkout@v4
with:
submodules: "recursive"

# Set up runtimes
- name: Setup .NET Core SDK ${{ matrix.dotnet-version }}
Expand All @@ -238,6 +262,17 @@ jobs:
distribution: "corretto"
java-version: 17

- name: Setup Python for running tests
if: matrix.decrypting_language == 'python'
uses: actions/setup-python@v4
with:
python-version: 3.11
architecture: x64
- run: |
python -m pip install --upgrade pip
pip install --upgrade tox
pip install poetry

- name: Setup Rust Toolchain for GitHub CI
if: matrix.decrypting_language == 'rust'
uses: actions-rust-lang/setup-rust-toolchain@v1.10.1
Expand All @@ -259,13 +294,13 @@ jobs:

- name: Setup Dafny Rust
if: matrix.decrypting_language == 'rust'
uses: dafny-lang/setup-dafny-action@v1.8.0
uses: ./mpl/.github/actions/setup_dafny
with:
dafny-version: nightly-2025-01-30-7db1e5f

- name: Setup Dafny Not Rust
if: matrix.decrypting_language != 'rust'
uses: dafny-lang/setup-dafny-action@v1.8.0
uses: ./mpl/.github/actions/setup_dafny
with:
dafny-version: ${{ inputs.dafny }}

Expand Down Expand Up @@ -332,6 +367,14 @@ jobs:
run: |
make purge_polymorph_code

- name: Build ${{ matrix.library }} implementation in Python
if: matrix.decrypting_language == 'python'
shell: bash
working-directory: ./${{ matrix.library }}
run: |
CORES=$(node -e 'console.log(os.cpus().length)')
make transpile_python CORES=$CORES

- name: Download Encrypt Manifest Artifact
uses: actions/download-artifact@v4
with:
Expand Down
Loading
Loading