Skip to content

tool-openssl: pkcs8 error output on decrypt (#2883) #2665

tool-openssl: pkcs8 error output on decrypt (#2883)

tool-openssl: pkcs8 error output on decrypt (#2883) #2665

Workflow file for this run

name: Miscellaneous test jobs
on:
push:
branches: ["*"]
pull_request:
branches: ["*"]
concurrency:
group: ${{ github.workflow }}-${{ github.ref_name }}
cancel-in-progress: true
env:
GOPROXY: https://proxy.golang.org,direct
permissions:
contents: read
jobs:
pre-sandbox:
if: github.repository_owner == 'aws'
runs-on: ubuntu-latest
steps:
- name: Install OS Dependencies
run: |
sudo apt-get update -o Acquire::Languages=none -o Acquire::Translation=none
sudo apt-get -y --no-install-recommends install \
cmake clang ninja-build golang
echo "CC=clang" >> $GITHUB_ENV
echo "CXX=clang++" >> $GITHUB_ENV
- name: Install seccomp dependencies
run: |
sudo apt-get -y --no-install-recommends install libseccomp-dev
- uses: actions/checkout@v3
- name: Test sandbox configuration
run: |
./tests/ci/run_presandbox_tests.sh
assert-license-statement-in-pr-description:
if: github.repository_owner == 'aws'
runs-on: ubuntu-latest
steps:
- if: ${{ github.event.pull_request != null }}
name: Install jq
run: |
sudo apt-get update -o Acquire::Languages=none -o Acquire::Translation=none
sudo apt-get install -y jq
- if: ${{ github.event.pull_request != null }}
name: Check PR description
run: |
# License statement we want present.
LICENSE_STATEMENT="By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and the ISC license."
# Fetches the PR description.
PR_DESCRIPTION=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }} | jq -r .body)
printf "PR description:\n%s" "${PR_DESCRIPTION}"
echo ""
echo ""
printf "Must contain:\n%s" "${LICENSE_STATEMENT}"
echo ""
echo ""
# Normalize line endings (convert CRLF to LF)
PR_DESCRIPTION=$(echo "${PR_DESCRIPTION}" | tr -d '\r')
# Escape quotes in PR description
PR_DESCRIPTION=$(echo "${PR_DESCRIPTION}" | sed 's/"/\\"/g; s/'"'"'/\\'"'"'/g')
# Remove all spaces and tabs
PR_DESCRIPTION=$(echo "${PR_DESCRIPTION}" | tr -d ' \t')
LICENSE_STATEMENT=$(echo "${LICENSE_STATEMENT}" | tr -d ' \t')
printf "PR description trimmed:\n%s" "${PR_DESCRIPTION}"
echo ""
echo ""
printf "Must contain trimmed:\n%s" "${LICENSE_STATEMENT}"
echo ""
echo ""
# Assert PR description contains license statement.
if printf "%s\n" "${PR_DESCRIPTION}" | grep -ixq "${LICENSE_STATEMENT}"; then
echo "Success: PR description contains license statement."
else
echo "Error: PR description does not contain the required license statement."
exit 1
fi
path-has-spaces:
if: github.repository_owner == 'aws'
runs-on: ${{ matrix.os }}
env:
AWS_LC_SSL_TEST_RUNNER_PEEK_ROUNDS: 5
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, windows-latest, macos-14 ]
ninja: [ 0, 1 ]
steps:
- if: ${{ matrix.os == 'windows-latest' }}
name: Install NASM
uses: ilammy/setup-nasm@v1.5.1
- uses: actions/setup-go@v4
with:
go-version: '>=1.18'
- name: Checkout
uses: actions/checkout@v4
with:
path: "path has spaces/aws-lc"
- uses: ilammy/msvc-dev-cmd@v1
- name: Setup CMake (Ninja)
if: ${{ matrix.ninja == '1' }}
uses: threeal/cmake-action@v1.3.0
with:
source-dir: 'path has spaces/aws-lc'
build-dir: 'path has spaces/build'
generator: Ninja
- name: Setup CMake
if: ${{ matrix.ninja != '1' }}
uses: threeal/cmake-action@v1.3.0
with:
source-dir: 'path has spaces/aws-lc'
build-dir: 'path has spaces/build'
- name: Build Project
run: cmake --build "path has spaces/build" --target ssl
- name: Run tests
run: cmake --build "path has spaces/build" --target run_tests
- name: Setup CMake FIPS
uses: threeal/cmake-action@v1.3.0
with:
source-dir: 'path has spaces/aws-lc'
build-dir: 'path has spaces/build-fips'
options: CMAKE_BUILD_TYPE=Release FIPS=1 BUILD_SHARED_LIBS=${{ (matrix.os == 'ubuntu-latest' && '0') || '1' }}
generator: Ninja
- name: Build Project
run: cmake --build "path has spaces/build-fips" --target all
# TODO: Fix the FIPS ACVP tests on Windows to handle spaces in the path
- if: ${{ matrix.os != 'windows-latest' }}
name: Run tests
run: cmake --build "path has spaces/build-fips" --target run_tests
git-tag-check:
if: github.repository_owner == 'aws'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
fetch-tags: true
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Check for git tag
run: python ./util/git-tag-check/git-tag-check.py
rpmbuild:
if: github.repository_owner == 'aws'
runs-on:
- codebuild-aws-lc-ci-github-actions-${{ github.run_id }}-${{ github.run_attempt }}
image:linux-5.0
instance-size:large
steps:
- uses: actions/checkout@v5
- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v2
- uses: ./.github/actions/codebuild-docker-run
name: Run Container
with:
image: ${{ steps.login-ecr.outputs.registry }}/aws-lc/amazonlinux:latest
run: |
source /opt/compiler-env/setup-gcc.sh
./tests/ci/run_rpmbuild_tests.sh