Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: aws/aws-lc
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.31.0
Choose a base ref
...
head repository: aws/aws-lc
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref

Commits on Sep 15, 2023

  1. Add bignum_copy_row_from_table and its Neon-variants for AArch64

    This patch adds constant-time table-lookup functions
    (`bignum_copy_row_from_table*`) and their proofs.
    This patch only contains its AArch64 version, and the x86 version will
    follow later.
    The failure of proving its x86 version seems to be related to handling
    negative offsets, and (if this is right) this can be avoided by simply
    proving positive offsets.
    I will record this as a Github issue with a promise that the x86 scalar
    version will be provided after the RSA related things are finished.
    
    This patch contains four table-lookup functions:
    1. `bignum_copy_row_from_table`: a lookup for a generic table size
    2. `bignum_copy_row_from_table_8n_neon`: a Neon version for a table
       whose width is a multiple of 8
    3. `bignum_copy_row_from_table_16_neon`: Neon implementation of a table
       whose width is 16*64=1024 bits
    4. `bignum_copy_row_from_table_32_neon`: Neon implementation of a table
       whose width is 32*64=2048 bits
    
    The last two versions are initially written by Hanno Becker.
    
    To successfully compile and run `test` and `benchmark` in x86, the
    scalar `bignum_copy_row_from_table` function is processed as a way
    similar to Neon functions.
    
    s2n-bignum original commit: awslabs/s2n-bignum@f1ad23c
    aqjune-aws committed Sep 15, 2023
    Copy the full SHA
    4b9db24 View commit details
  2. Add bignum_copy_row_from_table and its Neon-variants for AArch64

    This patch adds constant-time table-lookup functions
    (`bignum_copy_row_from_table*`) and their proofs.
    This patch only contains its AArch64 version, and the x86 version will
    follow later.
    The failure of proving its x86 version seems to be related to handling
    negative offsets, and (if this is right) this can be avoided by simply
    proving positive offsets.
    I will record this as a Github issue with a promise that the x86 scalar
    version will be provided after the RSA related things are finished.
    
    This patch contains four table-lookup functions:
    1. `bignum_copy_row_from_table`: a lookup for a generic table size
    2. `bignum_copy_row_from_table_8n_neon`: a Neon version for a table
       whose width is a multiple of 8
    3. `bignum_copy_row_from_table_16_neon`: Neon implementation of a table
       whose width is 16*64=1024 bits
    4. `bignum_copy_row_from_table_32_neon`: Neon implementation of a table
       whose width is 32*64=2048 bits
    
    The last two versions are initially written by Hanno Becker.
    
    To successfully compile and run `test` and `benchmark` in x86, the
    scalar `bignum_copy_row_from_table` function is processed as a way
    similar to Neon functions.
    
    s2n-bignum original commit: awslabs/s2n-bignum@f1ad23c
    aqjune-aws committed Sep 15, 2023
    Copy the full SHA
    11b105a View commit details

Commits on Sep 16, 2023

  1. Merge pull request #81 from aqjune-aws/tablelookup

    Add bignum_copy_row_from_table and its Neon-variants for AArch64
    s2n-bignum original commit: awslabs/s2n-bignum@50aa85b
    jargh authored Sep 16, 2023
    Copy the full SHA
    4b07e28 View commit details
  2. Merge pull request #81 from aqjune-aws/tablelookup

    Add bignum_copy_row_from_table and its Neon-variants for AArch64
    s2n-bignum original commit: awslabs/s2n-bignum@50aa85b
    jargh authored Sep 16, 2023
    Copy the full SHA
    0b39dc3 View commit details
  3. Merge branch 'awslabs:main' into main

    s2n-bignum original commit: awslabs/s2n-bignum@74d34c3
    jargh authored Sep 16, 2023
    Copy the full SHA
    da70cb3 View commit details
  4. Merge branch 'awslabs:main' into main

    s2n-bignum original commit: awslabs/s2n-bignum@74d34c3
    jargh authored Sep 16, 2023
    Copy the full SHA
    a45a78f View commit details

Commits on Oct 5, 2023

  1. Add Ed25519 point compression encoding

    This implements the point compression encoding to a byte array from
    https://datatracker.ietf.org/doc/html/rfc8032#section-5.1.2
    as function "edwards25519_encode". It assumes the input is a point
    (x,y) on the edwards25519 curve, with coordinates reduced mod
    p_25519 = 2^255 - 19, and does not check any of that.
    
    s2n-bignum original commit: awslabs/s2n-bignum@67430be
    jargh committed Oct 5, 2023
    Copy the full SHA
    8b4a9fd View commit details
  2. Add Ed25519 point compression encoding

    This implements the point compression encoding to a byte array from
    https://datatracker.ietf.org/doc/html/rfc8032#section-5.1.2
    as function "edwards25519_encode". It assumes the input is a point
    (x,y) on the edwards25519 curve, with coordinates reduced mod
    p_25519 = 2^255 - 19, and does not check any of that.
    
    s2n-bignum original commit: awslabs/s2n-bignum@67430be
    jargh committed Oct 5, 2023
    Copy the full SHA
    bb3baa5 View commit details

Commits on Oct 11, 2023

  1. Merge branch 'awslabs:main' into main

    s2n-bignum original commit: awslabs/s2n-bignum@b49b4f9
    jargh authored Oct 11, 2023
    Copy the full SHA
    c66db90 View commit details
  2. Merge branch 'awslabs:main' into main

    s2n-bignum original commit: awslabs/s2n-bignum@b49b4f9
    jargh authored Oct 11, 2023
    Copy the full SHA
    342a2ba View commit details

Commits on Oct 14, 2023

  1. Add Ed25519 point decoding function

    This implements point decoding from a 256-bit little-endian byte
    sequence to a point (x,y) on the edwards25519 curve as specified in
    https://datatracker.ietf.org/doc/html/rfc8032#section-5.1.3
    The function returns 0 for success and 1 for failure, the latter
    meaning that the input is not the encoding of any edwards25519 point.
    
    s2n-bignum original commit: awslabs/s2n-bignum@97f7493
    jargh committed Oct 14, 2023
    Copy the full SHA
    0ddf04b View commit details
  2. Add Ed25519 point decoding function

    This implements point decoding from a 256-bit little-endian byte
    sequence to a point (x,y) on the edwards25519 curve as specified in
    https://datatracker.ietf.org/doc/html/rfc8032#section-5.1.3
    The function returns 0 for success and 1 for failure, the latter
    meaning that the input is not the encoding of any edwards25519 point.
    
    s2n-bignum original commit: awslabs/s2n-bignum@97f7493
    jargh committed Oct 14, 2023
    Copy the full SHA
    755bc0b View commit details

Commits on Oct 18, 2023

  1. Add generic size curve25519/edwards25519 basepoint modulus

    The function bignum_mod_n25519 performs reduction of an input of any
    size (k digits) modulo the order of the curve25519/edwards25519
    basepoint, n_25519 = 2^252 + 27742317777372353535851937790883648493.
    It generalizes bignum_mod_n25519_4, which is the special case of
    4-digit (256-bit) inputs.
    
    s2n-bignum original commit: awslabs/s2n-bignum@e23fd30
    jargh committed Oct 18, 2023
    Copy the full SHA
    c193556 View commit details
  2. Add generic size curve25519/edwards25519 basepoint modulus

    The function bignum_mod_n25519 performs reduction of an input of any
    size (k digits) modulo the order of the curve25519/edwards25519
    basepoint, n_25519 = 2^252 + 27742317777372353535851937790883648493.
    It generalizes bignum_mod_n25519_4, which is the special case of
    4-digit (256-bit) inputs.
    
    s2n-bignum original commit: awslabs/s2n-bignum@e23fd30
    jargh committed Oct 18, 2023
    Copy the full SHA
    d9d1d38 View commit details

Commits on Oct 20, 2023

  1. Add multiply-add modulo the curve25519/edwards25519 basepoint order

    The functions bignum_madd_n25519 and bignum_madd_n25519_alt perform
    multiply-add modulo the order of the curve25519/edwards25519
    basepoint, n_25519 = 2^252 + 27742317777372353535851937790883648493,
    i.e. z := (x * y + c) mod n_25519 where all variables are 256 bits.
    
    s2n-bignum original commit: awslabs/s2n-bignum@7fc5883
    jargh committed Oct 20, 2023
    Copy the full SHA
    fdd2d5e View commit details
  2. Merge branch 'awslabs:main' into main

    s2n-bignum original commit: awslabs/s2n-bignum@2c8e273
    jargh authored Oct 20, 2023
    Copy the full SHA
    fc4c0cb View commit details
  3. Merge branch 'awslabs:main' into main

    s2n-bignum original commit: awslabs/s2n-bignum@2c8e273
    jargh authored Oct 20, 2023
    Copy the full SHA
    1549707 View commit details

Commits on Oct 28, 2023

  1. Switch curve25519 operations to divstep-based modular inverse

    This replaces the inlined variant of "bignum_modinv" with code from
    "bignum_inv_p25519" in all "curve25519_" functions returning an affine
    point and hence using modular inverse. There are also a few
    consequential changes related to the slightly different amount of
    temporary storage needed by this function.
    
    s2n-bignum original commit: awslabs/s2n-bignum@777d574
    jargh committed Oct 28, 2023
    Copy the full SHA
    01370f3 View commit details
  2. Switch curve25519 operations to divstep-based modular inverse

    This replaces the inlined variant of "bignum_modinv" with code from
    "bignum_inv_p25519" in all "curve25519_" functions returning an affine
    point and hence using modular inverse. There are also a few
    consequential changes related to the slightly different amount of
    temporary storage needed by this function.
    
    s2n-bignum original commit: awslabs/s2n-bignum@777d574
    jargh committed Oct 28, 2023
    Copy the full SHA
    ee9dd97 View commit details

Commits on Nov 1, 2023

  1. Merge pull request #88 from torben-hansen/document_x25519_zero_check_no

    Document that x25519 function does not implement zero-check
    s2n-bignum original commit: awslabs/s2n-bignum@5c4b15a
    jargh authored Nov 1, 2023
    Copy the full SHA
    cc0e9f6 View commit details
  2. Merge pull request #88 from torben-hansen/document_x25519_zero_check_no

    Document that x25519 function does not implement zero-check
    s2n-bignum original commit: awslabs/s2n-bignum@5c4b15a
    jargh authored Nov 1, 2023
    Copy the full SHA
    f5d2c1f View commit details
  3. Merge branch 'awslabs:main' into main

    s2n-bignum original commit: awslabs/s2n-bignum@73ec55a
    jargh authored Nov 1, 2023
    Copy the full SHA
    d25a459 View commit details
  4. Merge branch 'awslabs:main' into main

    s2n-bignum original commit: awslabs/s2n-bignum@73ec55a
    jargh authored Nov 1, 2023
    Copy the full SHA
    0698b40 View commit details

Commits on Nov 2, 2023

  1. Switch edwards25519 operations to divstep-based modular inverse

    This replaces the inlined variant of "bignum_modinv" with code from
    "bignum_inv_p25519" in all "edwards25519_scalarmul*" functions.
    Again, there are consequential changes related to the slightly
    different amount of temporary storage needed by bignum_inv_p25519.
    
    s2n-bignum original commit: awslabs/s2n-bignum@7e7b18e
    jargh committed Nov 2, 2023
    Copy the full SHA
    2dda6ab View commit details
  2. Switch edwards25519 operations to divstep-based modular inverse

    This replaces the inlined variant of "bignum_modinv" with code from
    "bignum_inv_p25519" in all "edwards25519_scalarmul*" functions.
    Again, there are consequential changes related to the slightly
    different amount of temporary storage needed by bignum_inv_p25519.
    
    s2n-bignum original commit: awslabs/s2n-bignum@7e7b18e
    jargh committed Nov 2, 2023
    Copy the full SHA
    8fd6e1a View commit details

Commits on Nov 3, 2023

  1. Merge pull request #87 from jargh/main

    Ed25519 support and related updates
    s2n-bignum original commit: awslabs/s2n-bignum@db8409d
    jargh authored Nov 3, 2023
    Copy the full SHA
    ca6fb90 View commit details
  2. Merge pull request #87 from jargh/main

    Ed25519 support and related updates
    s2n-bignum original commit: awslabs/s2n-bignum@db8409d
    jargh authored Nov 3, 2023
    Copy the full SHA
    f1227a0 View commit details

Commits on Nov 4, 2023

  1. Merge branch 'awslabs:main' into main

    s2n-bignum original commit: awslabs/s2n-bignum@58a6bdf
    jargh authored Nov 4, 2023
    Copy the full SHA
    1c275ac View commit details
  2. Merge branch 'awslabs:main' into main

    s2n-bignum original commit: awslabs/s2n-bignum@58a6bdf
    jargh authored Nov 4, 2023
    Copy the full SHA
    1b9b66a View commit details

Commits on Nov 6, 2023

  1. Merge pull request #90 from jargh/main

    Add BFM, BIC, FCSEL, INS, SUB, TRN1, TRN2, USHR, ZIP2 to ARM model
    s2n-bignum original commit: awslabs/s2n-bignum@f1caaf1
    jargh authored Nov 6, 2023
    Copy the full SHA
    7bcf96a View commit details
  2. Merge pull request #90 from jargh/main

    Add BFM, BIC, FCSEL, INS, SUB, TRN1, TRN2, USHR, ZIP2 to ARM model
    s2n-bignum original commit: awslabs/s2n-bignum@f1caaf1
    jargh authored Nov 6, 2023
    Copy the full SHA
    51ffa10 View commit details

Commits on Nov 14, 2023

  1. Improve integer operation support in BOUNDER_RULE and BOUNDER_TAC

    In general, BOUNDER_RULE now directly handles operations over Z and N,
    assuming an outer real_of_int / real_of_num cast into R (this is also
    automated in the tactic form BOUNDER_TAC). In particular, this change
    can greatly improve bounds for terms involving integer or natural
    number division and remainder (DIV, div, MOD and rem) as well as
    cutoff subtraction over N. There is also now support for conditionals,
    though the condition is not used as extra context, simply being the
    basis for a case split.
    
    This update rolls in various trivial typographic fixes in comments.
    
    s2n-bignum original commit: awslabs/s2n-bignum@ccefa2a
    jargh committed Nov 14, 2023
    Copy the full SHA
    bc0ecf2 View commit details
  2. Improve integer operation support in BOUNDER_RULE and BOUNDER_TAC

    In general, BOUNDER_RULE now directly handles operations over Z and N,
    assuming an outer real_of_int / real_of_num cast into R (this is also
    automated in the tactic form BOUNDER_TAC). In particular, this change
    can greatly improve bounds for terms involving integer or natural
    number division and remainder (DIV, div, MOD and rem) as well as
    cutoff subtraction over N. There is also now support for conditionals,
    though the condition is not used as extra context, simply being the
    basis for a case split.
    
    This update rolls in various trivial typographic fixes in comments.
    
    s2n-bignum original commit: awslabs/s2n-bignum@ccefa2a
    jargh committed Nov 14, 2023
    Copy the full SHA
    b5e5b8c View commit details

Commits on Nov 15, 2023

  1. Copy the full SHA
    41b7e15 View commit details
  2. Copy the full SHA
    16015b4 View commit details

Commits on Nov 16, 2023

  1. Merge pull request #92 from torben-hansen/fix_duplicate_labels_ed25519

    Avoid duplicate labels in ed25519 x86 implementation
    s2n-bignum original commit: awslabs/s2n-bignum@f629458
    jargh authored Nov 16, 2023
    Copy the full SHA
    59a6357 View commit details
  2. Merge pull request #92 from torben-hansen/fix_duplicate_labels_ed25519

    Avoid duplicate labels in ed25519 x86 implementation
    s2n-bignum original commit: awslabs/s2n-bignum@f629458
    jargh authored Nov 16, 2023
    Copy the full SHA
    917bd14 View commit details
  3. Merge branch 'awslabs:main' into main

    s2n-bignum original commit: awslabs/s2n-bignum@c1fbdb5
    jargh authored Nov 16, 2023
    Copy the full SHA
    2fd7384 View commit details
  4. Merge branch 'awslabs:main' into main

    s2n-bignum original commit: awslabs/s2n-bignum@c1fbdb5
    jargh authored Nov 16, 2023
    Copy the full SHA
    e62d5c7 View commit details

Commits on Nov 17, 2023

  1. Merge pull request #94 from jargh/main

    64-bit SIMD regs in ARM model, better BOUNDER_RULE, slow-ARM field optimizations
    s2n-bignum original commit: awslabs/s2n-bignum@06781d2
    aqjune-aws authored Nov 17, 2023
    Copy the full SHA
    159ad31 View commit details
  2. Merge pull request #94 from jargh/main

    64-bit SIMD regs in ARM model, better BOUNDER_RULE, slow-ARM field optimizations
    s2n-bignum original commit: awslabs/s2n-bignum@06781d2
    aqjune-aws authored Nov 17, 2023
    Copy the full SHA
    9f82fda View commit details

Commits on Nov 21, 2023

  1. Fix GNU-stacz typo

    s2n-bignum original commit: awslabs/s2n-bignum@286d596
    torben-hansen committed Nov 21, 2023
    Copy the full SHA
    919f88e View commit details

Commits on Nov 22, 2023

  1. Merge pull request #95 from torben-hansen/fix_stacz_typy

    Fix GNU-stacz typo
    s2n-bignum original commit: awslabs/s2n-bignum@e57af82
    aqjune-aws authored Nov 22, 2023
    Copy the full SHA
    9fe40dd View commit details
  2. Merge pull request #98 from torben-hansen/fix_static_array_qualifier_…

    …mscv
    
    Replace static array qualifier with macro that maps to nothing if it detects an msvc compiler
    s2n-bignum original commit: awslabs/s2n-bignum@9e60dfc
    aqjune-aws authored Nov 22, 2023
    Copy the full SHA
    0308bfc View commit details

Commits on Nov 27, 2023

  1. Make parameter to ed25519 decode function const

    s2n-bignum original commit: awslabs/s2n-bignum@d93670d
    torben-hansen committed Nov 27, 2023
    Copy the full SHA
    0694a87 View commit details
  2. Make parameter to ed25519 decode function const

    s2n-bignum original commit: awslabs/s2n-bignum@d93670d
    torben-hansen committed Nov 27, 2023
    Copy the full SHA
    937220a View commit details

Commits on Nov 28, 2023

  1. Merge pull request #99 from torben-hansen/ed25519_decode_signature_in…

    …put_const
    
    Make _input_ parameter to ed25519 decode function const
    s2n-bignum original commit: awslabs/s2n-bignum@4097178
    aqjune-aws authored Nov 28, 2023
    Copy the full SHA
    9985a1b View commit details
  2. Merge pull request #99 from torben-hansen/ed25519_decode_signature_in…

    …put_const
    
    Make _input_ parameter to ed25519 decode function const
    s2n-bignum original commit: awslabs/s2n-bignum@4097178
    aqjune-aws authored Nov 28, 2023
    Copy the full SHA
    dc716ed View commit details

Commits on Jan 23, 2024

  1. Allow MIT-0 license as well as Apache-2.0 and ISC (#104)

    * Allow MIT-0 license as well as Apache-2.0 and ISC
    
    * Add appropriate year range to MIT-0 license
    s2n-bignum original commit: awslabs/s2n-bignum@48fb153
    jargh authored Jan 23, 2024
    Copy the full SHA
    ce316eb View commit details
  2. Allow MIT-0 license as well as Apache-2.0 and ISC (#104)

    * Allow MIT-0 license as well as Apache-2.0 and ISC
    
    * Add appropriate year range to MIT-0 license
    s2n-bignum original commit: awslabs/s2n-bignum@48fb153
    jargh authored Jan 23, 2024
    Copy the full SHA
    f133bad View commit details
Showing 4,986 changed files with 258,944 additions and 50,115 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
1 change: 0 additions & 1 deletion .clang-format
Original file line number Diff line number Diff line change
@@ -4,7 +4,6 @@ AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
DerivePointerAlignment: false
PointerAlignment: Right
InsertBraces: true
# TODO(davidben): The default for Google style is now Regroup, but the default
# IncludeCategories does not recognize <openssl/header.h>. We should
# reconfigure IncludeCategories to match. For now, keep it at Preserve.
26 changes: 26 additions & 0 deletions .github/docker_images/alpine-linux/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0 OR ISC

# TODO(CryptoAlg-2491 & Issue#2010): latest pins to gcc-14, but it's broken with FIPS.
FROM alpine:3.20

ARG CC=gcc
ARG CXX=g++

VOLUME ["awslc"]

RUN apk --no-cache add bash \
clang \
build-base \
cmake \
ninja \
go \
perl \
linux-headers

WORKDIR /awslc

ENV CC=${CC}
ENV CXX=${CXX}

ENTRYPOINT ["/bin/bash", "-c"]
4 changes: 3 additions & 1 deletion .github/docker_images/cmake_build_versions/cmake_build.sh
Original file line number Diff line number Diff line change
@@ -7,8 +7,10 @@ set -ex -o pipefail

echo "Building CMake Version: ${CMAKE_VERSION:-unknown}"

NUM_CPU_THREADS=$(grep -c ^processor /proc/cpuinfo)

# At the moment this works fine for all versions, in the future build logic can be modified to
# look at it ${CMAKE_VERSION}.
./configure --prefix=/opt/cmake --system-curl --system-libarchive
make
make -j"${NUM_CPU_THREADS}"
make install
24 changes: 24 additions & 0 deletions .github/docker_images/gcc-4.8/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0 OR ISC

FROM gcc:4.8.5

VOLUME ["/awslc"]

COPY awslc_build.sh /
COPY entry.sh /

WORKDIR /

RUN curl -LOk "https://github.com/Kitware/CMake/releases/download/v3.6.3/cmake-3.6.3-Linux-x86_64.tar.gz"
RUN sha256sum cmake-3.6.3-Linux-x86_64.tar.gz | grep -q "9d915d505c07d84b610e1be6242c7cad68b4b7a4090ce85ecf9cec5effa47c43"
RUN tar -C /usr/local -xzf cmake-3.6.3-Linux-x86_64.tar.gz
RUN rm cmake-3.6.3-Linux-x86_64.tar.gz
RUN curl -LOk "https://go.dev/dl/go1.18.10.linux-amd64.tar.gz"
RUN sha256sum go1.18.10.linux-amd64.tar.gz | grep -q "5e05400e4c79ef5394424c0eff5b9141cb782da25f64f79d54c98af0a37f8d49"
RUN rm -rf /usr/local/go && tar -C /usr/local -xzf go1.18.10.linux-amd64.tar.gz
RUN rm go1.18.10.linux-amd64.tar.gz

ENV PATH="${PATH}:/usr/local/cmake-3.6.3-Linux-x86_64/bin:/usr/local/go/bin"

ENTRYPOINT ["/entry.sh"]
18 changes: 18 additions & 0 deletions .github/docker_images/gcc-4.8/awslc_build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/usr/bin/env bash

# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0 OR ISC

set -ex -o pipefail

echo "Building with GCC Version: $(gcc --version)"

BUILD_DIR=$(mktemp -d)
SRC_DIR="${SRC_DIR:-/awslc}"

pushd "${BUILD_DIR}"

cmake "${SRC_DIR}" "-DDISABLE_PERL=ON" "-DMY_ASSEMBLER_IS_TOO_OLD_FOR_512AVX=1"
cmake --build "${BUILD_DIR}" --target run_tests

popd # ${BUILD_DIR}
8 changes: 8 additions & 0 deletions .github/docker_images/gcc-4.8/entry.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/usr/bin/env bash

# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0 OR ISC

set -ex -o pipefail

/awslc_build.sh "${argv[@]}"
4 changes: 2 additions & 2 deletions .github/workflows/abidiff.yml
Original file line number Diff line number Diff line change
@@ -19,12 +19,12 @@ jobs:
- uses: actions/checkout@v3
with:
repository: aws/aws-lc
ref: ${{ github.ref }}
ref: ${{ github.event_name == 'push' && github.event.ref || github.event.pull_request.head.sha }}
path: ${{ github.workspace }}/next
- uses: actions/checkout@v3
with:
repository: aws/aws-lc
ref: ${{ github.base.ref }}
ref: ${{ github.event_name == 'push' && github.event.before || github.event.pull_request.base.sha }}
path: ${{ github.workspace }}/previous
- name: Build Docker Image
working-directory: ${{ github.workspace }}/next/.github/docker_images/abidiff
147 changes: 130 additions & 17 deletions .github/workflows/actions-ci.yml
Original file line number Diff line number Diff line change
@@ -9,8 +9,8 @@ concurrency:
cancel-in-progress: true
env:
GOPROXY: https://proxy.golang.org,direct
SDE_MIRROR_URL: "https://downloadmirror.intel.com/813591/sde-external-9.33.0-2024-01-07-win.tar.xz"
SDE_VERSION_TAG: sde-external-9.33.0-2024-01-07-win
SDE_MIRROR_URL: "https://downloadmirror.intel.com/831748/sde-external-9.44.0-2024-08-22-win.tar.xz"
SDE_VERSION_TAG: sde-external-9.44.0-2024-08-22-win
PACKAGE_NAME: aws-lc
# Used to enable ASAN test dimension.
AWSLC_NO_ASM_FIPS: 1
@@ -24,7 +24,7 @@ jobs:
uses: actions/checkout@v3
- name: Sanity Test Run
run: |
sudo apt-get update
sudo apt-get update -o Acquire::Languages=none -o Acquire::Translation=none
sudo apt-get install ninja-build
cmake -GNinja -Btest_build_dir
ninja -C test_build_dir run_tests
@@ -39,7 +39,6 @@ jobs:
os:
- "macos-14-large"
- "macos-13-large"
- "macos-12-large"
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v4
@@ -59,7 +58,6 @@ jobs:
os:
- "macos-14-large"
- "macos-13-large"
- "macos-12-large"
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v4
@@ -281,18 +279,23 @@ jobs:
- name: Build SSL
run: cmake --build ./build --target ssl

clang-18-pedantic:
clang-19-pedantic:
if: github.repository_owner == 'aws'
needs: [ sanity-test-run ]
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v3
- name: Install clang-19
run: |
wget https://apt.llvm.org/llvm.sh
chmod u+x llvm.sh
sudo ./llvm.sh 19
- name: Setup CMake
uses: threeal/cmake-action@v1.3.0
with:
generator: Ninja
c-compiler: clang-18
cxx-compiler: clang++-18
c-compiler: clang-19
cxx-compiler: clang++-19
options: CMAKE_BUILD_TYPE=Release CMAKE_C_FLAGS=-pedantic CMAKE_CXX_FLAGS=-pedantic
- name: Build Crypto
run: cmake --build ./build --target crypto
@@ -392,27 +395,61 @@ jobs:
- name: Run tests
run: cmake --build ./build --target run_tests

OpenBSD-x86-64:
clang-19-sanity:
if: github.repository_owner == 'aws'
needs: [ sanity-test-run ]
strategy:
fail-fast: false
matrix:
fips:
- "0"
- "1"
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v4
with:
go-version: '>=1.18'
- name: Install clang-19
run: |
wget https://apt.llvm.org/llvm.sh
chmod u+x llvm.sh
sudo ./llvm.sh 19
- name: Setup CMake
uses: threeal/cmake-action@v1.3.0
with:
generator: Ninja
c-compiler: clang-19
cxx-compiler: clang++-19
options: FIPS=${{ matrix.fips }} CMAKE_BUILD_TYPE=Release
- name: Build Project
run: cmake --build ./build --target all
- name: Run tests
run: cmake --build ./build --target run_tests

OpenBSD:
needs: [sanity-test-run]
runs-on: ubuntu-latest
name: OpenBSD ${{ matrix.version }} (${{ matrix.arch }}) test
strategy:
fail-fast: false
matrix:
args: ["", "-f"]
version: ["7.4", "7.5"]
arch: ["x86-64", "arm64"]
version: ["7.5", "7.6"]
steps:
- uses: actions/checkout@v3
- name: OpenBSD
uses: cross-platform-actions/action@v0.24.0
uses: cross-platform-actions/action@595d543e5d1aeb6d48c0a176965028afe56c7018
env:
AWS_LC_SSL_TEST_RUNNER_PEEK_ROUNDS: 5
AWS_LC_GO_TEST_TIMEOUT: 120m
with:
environment_variables: AWS_LC_SSL_TEST_RUNNER_PEEK_ROUNDS AWS_LC_GO_TEST_TIMEOUT
operating_system: openbsd
cpu_count: 4
memory: 16G
architecture: x86-64
version: '7.4'
cpu_count: 3
memory: 12G
architecture: ${{ matrix.arch }}
version: "${{ matrix.version }}"
shell: bash
run: |
set -x
@@ -445,8 +482,49 @@ jobs:
cd $(pwd)
export PATH="${HOME}/bin:${PATH}"
env
tests/ci/run_openbsd_tests.sh ${{ matrix.args }}
tests/ci/run_bsd_tests.sh
EOF
gcc-4_8:
needs: [sanity-test-run]
runs-on: ubuntu-latest
env:
DOCKER_BUILDKIT: 1
steps:
- uses: actions/checkout@v4
- name: Build Docker Image
working-directory: .github/docker_images/gcc-4.8
run: |
docker build -t "gcc-4.8" .
- name: Build using pre-generated assembly
run: |
docker run -v "${{ github.workspace }}:/awslc" "gcc-4.8"
alpine-linux-x86:
needs: [sanity-test-run]
strategy:
fail-fast: false
matrix:
tests: [
/awslc/tests/ci/run_fips_tests.sh,
/awslc/tests/ci/run_posix_tests.sh
]
compiler: [
--build-arg CC=clang --build-arg CXX=clang++,
--build-arg CC=gcc --build-arg CXX=g++
]
runs-on: ubuntu-latest
env:
DOCKER_BUILDKIT: 1
steps:
- uses: actions/checkout@v4
- name: Build Docker Image
working-directory: .github/docker_images/alpine-linux
run: |
docker build -t alpine_linux ${{ matrix.compiler }} .
- name: Run tests
run: |
docker run -v "${{ github.workspace }}:/awslc" \
alpine_linux ${{ matrix.tests }}
# TODO: Investigate sudden hanging tests and failures in GHA runners (P114059413)
# MSVC-SDE-32-bit:
@@ -476,3 +554,38 @@ jobs:
# echo ${env:SDEROOT}
# .\tests\ci\run_windows_tests.bat "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86 true
#
freebsd:
if: github.repository_owner == 'aws'
needs: [sanity-test-run]
name: FreeBSD ${{ matrix.version }} (${{ matrix.arch }}) test
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
arch:
- 'x86-64'
- 'arm64'
version:
- '13.3'
- '14.1'
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Prepare VM
uses: cross-platform-actions/action@v0.25.0
env:
AWS_LC_SSL_TEST_RUNNER_PEEK_ROUNDS: 5
AWS_LC_GO_TEST_TIMEOUT: 90m
GOFLAGS: "-buildvcs=false"
with:
environment_variables: 'AWS_LC_SSL_TEST_RUNNER_PEEK_ROUNDS AWS_LC_GO_TEST_TIMEOUT GOFLAGS'
operating_system: freebsd
architecture: ${{ matrix.arch }}
version: ${{ matrix.version }}
shell: bash
memory: 12G
cpu_count: 3
run: |
sudo pkg install -y git gmake cmake go ninja
tests/ci/run_bsd_tests.sh
Loading