Unverified Commit 64777d97 authored by Sean McGrail's avatar Sean McGrail
Browse files

Add AWS-LC to GitHub Actions

parent 6c1830eb
Loading
Loading
Loading
Loading
+36 −5
Original line number Diff line number Diff line
@@ -151,6 +151,10 @@ jobs:
            - true
            - false
          library:
            - name: aws-lc
              version: v1.48.2
            - name: aws-lc
              version: vendored
            - name: boringssl
              version: e23fe9b6eecc10e4f9ea1f0027fea5eaee7bd6b6
            - name: openssl
@@ -276,18 +280,25 @@ jobs:
              url="https://boringssl.googlesource.com/boringssl/+archive/${{ matrix.library.version }}.tar.gz"
              tar_flags=""
              ;;
            "aws-lc")
              url="https://github.com/aws/aws-lc/archive/refs/tags/${{ matrix.library.version }}.tar.gz"
              tar_flags="--strip-components=1"
              ;;
            esac

            case "${{ matrix.target}}" in
            "x86_64-unknown-linux-gnu")
              CPU=x86_64
              OS_COMPILER=linux-x86_64
              OS_FLAGS=""
              ;;
            "i686-unknown-linux-gnu")
              CPU=i686
              OS_COMPILER=linux-elf
              OS_FLAGS="-m32 -msse2"
              ;;
            "arm-unknown-linux-gnueabihf")
              CPU=armv4
              OS_COMPILER=linux-armv4
              OS_FLAGS=""
              export AR=arm-linux-gnueabihf-ar
@@ -317,7 +328,7 @@ jobs:
              cd build

              echo "set(CMAKE_SYSTEM_NAME Linux)" > toolchain.cmake
              echo "set(CMAKE_SYSTEM_PROCESSOR $cpu)" >> toolchain.cmake
              echo "set(CMAKE_SYSTEM_PROCESSOR $CPU)" >> toolchain.cmake
              echo "set(triple ${{ matrix.target }})" >> toolchain.cmake
              echo 'set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} '$OS_FLAGS '" CACHE STRING "c++ flags")' >> toolchain.cmake
              echo 'set(CMAKE_C_FLAGS   "${CMAKE_C_FLAGS}   '$OS_FLAGS '" CACHE STRING "c flags")' >> toolchain.cmake
@@ -330,6 +341,22 @@ jobs:
              # Copy stuff around so it's all as the build system expects.
              cp -r ../rust/ "$OPENSSL_DIR/rust"
              cp -r ./ "$OPENSSL_DIR/build"
              ;;
            "aws-lc")
              mkdir build
              cd build

              echo "set(CMAKE_SYSTEM_NAME Linux)" > toolchain.cmake
              echo "set(CMAKE_SYSTEM_PROCESSOR $CPU)" >> toolchain.cmake
              echo "set(triple ${{ matrix.target }})" >> toolchain.cmake
              echo 'set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} '$OS_FLAGS '" CACHE STRING "c++ flags")' >> toolchain.cmake
              echo 'set(CMAKE_C_FLAGS   "${CMAKE_C_FLAGS}   '$OS_FLAGS '" CACHE STRING "c flags")' >> toolchain.cmake
              echo 'set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} '$OS_FLAGS '" CACHE STRING "asm flags")' >> toolchain.cmake

              cmake .. -DCMAKE_INSTALL_PREFIX="${OPENSSL_DIR}" -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake
              make -j "$(nproc)"
              make install
              ;;
            esac

          if: matrix.library.version != 'vendored' && !steps.openssl-cache.outputs.cache-hit
@@ -359,11 +386,11 @@ jobs:
            if [[ "${{ matrix.library.version }}" == "vendored" ]]; then
              features="--features vendored"
            fi
            if [[ "${{ matrix.bindgen }}" == "true" && "${{ matrix.library.name }}" != "boringssl" ]]; then
            if [[ "${{ matrix.bindgen }}" == "true" ]]; then
              features="$features --features bindgen"
            fi
            cargo run --manifest-path=systest/Cargo.toml --target ${{ matrix.target }} $features
          if: matrix.library.name != 'boringssl'
          if: ${{ !(matrix.library.name == 'boringssl' || matrix.library.name == 'aws-lc') }}
        - name: Test openssl
          run: |
            if [[ "${{ matrix.library.name }}" == "boringssl" && "${{ matrix.bindgen }}" != "true" ]]; then
@@ -371,8 +398,12 @@ jobs:
              BORINGSSL_BUILD_DIR="$OPENSSL_DIR/build/"
            fi
            if [[ "${{ matrix.library.version }}" == "vendored" ]]; then
              if [[ "${{ matrix.library.name }}" == "aws-lc" ]]; then
                features="--features aws-lc"
              else
                features="--features vendored"
              fi
            fi
            if [[ "${{ matrix.bindgen }}" == "true" ]]; then
              features="$features --features bindgen"
            fi
@@ -386,4 +417,4 @@ jobs:
              features="$features --features openssl-sys/bindgen"
            fi
            cargo test --manifest-path=openssl-errors/Cargo.toml --target ${{ matrix.target }} $features
          if: matrix.library.name != 'boringssl'
          if: ${{ !(matrix.library.name == 'boringssl' || matrix.library.name == 'aws-lc') }}
+1 −1
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@ rust-version = "1.63.0"
[features]
vendored = ['openssl-src']
unstable_boringssl = ['bssl-sys']
aws-lc = ['aws-lc-sys']
aws-lc = ['dep:aws-lc-sys']

[dependencies]
libc = "0.2"