Update README.md for HIRS 2.2.0 #533
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow will build HIRS, run unit tests, and create HIRS artifacts | |
name: HIRS Build and Unit Test | |
on: | |
push: | |
branches: | |
- '*v2*' | |
- 'master' | |
# allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
jobs: | |
# run the unit tests and package HIRS ACA, provisoner, and tools | |
ACA_Provisioner_unit_tests: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
packages: write | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v2 | |
with: | |
java-version: '8' | |
distribution: 'adopt' | |
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml | |
settings-path: ${{ github.workspace }} # location for the settings.xml file | |
# Build will either archive war files if the build is successful, otherwise a set of build report will be archived | |
- name: directory setup | |
run: | | |
mkdir -p artifacts/wars | |
mkdir -p artifacts/reports/HIRS_AttestationCA | |
mkdir -p artifacts/reports/HIRS_AttestationCAPortal | |
mkdir -p artifacts/reports/HIRS_Provisioner | |
mkdir -p artifacts/reports/HIRS_ProvisionerTPM2 | |
mkdir -p artifacts/reports/HIRS_Structs | |
mkdir -p artifacts/reports/HIRS_Utils | |
mkdir -p artifacts/reports/tcg_rim_tool | |
mkdir -p artifacts/reports/tcg_eventlog_tool | |
# Run the provisioner and ACA unit tests via gradle build in an Centos 7 Docker container | |
- name: Build HIRS and run Unit tests | |
run: | | |
echo ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} | docker login -u ${{ secrets.DOCKER_HUB_USERNAME }} --password-stdin | |
docker run --rm \ | |
-v $(pwd):/HIRS hirs/hirs-ci:centos7 /bin/bash \ | |
-c 'pushd /HIRS; \ | |
gradle_status=0; \ | |
./gradlew :HIRS_AttestationCA:clean :HIRS_AttestationCA:build :HIRS_AttestationCA:test; \ | |
if (( $? != "0" )) ; then gradle_status=1; fi; \ | |
cp -r /HIRS/HIRS_AttestationCA/build/reports/ /HIRS/artifacts/reports/HIRS_AttestationCA/.; \ | |
./gradlew :HIRS_AttestationCAPortal:clean :HIRS_AttestationCAPortal:build :HIRS_AttestationCAPortal:test; \ | |
if (( $? != "0" )) ; then gradle_status=1; fi; \ | |
cp -r /HIRS/HIRS_AttestationCAPortal/build/reports/ /HIRS/artifacts/reports/HIRS_AttestationCAPortal/.; \ | |
./gradlew :HIRS_Provisioner:clean :HIRS_Provisioner:build :HIRS_Provisioner:test; \ | |
if (( $? != "0" )) ; then gradle_status=1; fi; \ | |
cp -r /HIRS/HIRS_Provisioner/build/reports/ /HIRS/artifacts/reports/HIRS_Provisioner/.; \ | |
./gradlew :HIRS_ProvisionerTPM2:clean :HIRS_ProvisionerTPM2:build :HIRS_ProvisionerTPM2:test; \ | |
if (( $? != "0" )) ; then gradle_status=1; fi; \ | |
cp -r /HIRS/HIRS_ProvisionerTPM2/docs/ /HIRS/artifacts/reports/HIRS_ProvisionerTPM2/.; \ | |
./gradlew :HIRS_Structs:clean :HIRS_Structs:build :HIRS_Structs:test; \ | |
if (( $? != "0" )) ; then gradle_status=1; fi; \ | |
cp -r /HIRS/HIRS_Structs/build/reports/ /HIRS/artifacts/reports/HIRS_Structs/.; \ | |
./gradlew :HIRS_Utils:clean :HIRS_Utils:build :HIRS_Utils:test; \ | |
if (( $? != "0" )) ; then gradle_status=1; fi; \ | |
cp -r /HIRS/HIRS_Utils/build/reports/ /HIRS/artifacts/reports/HIRS_Utils/.; \ | |
./gradlew :TPM_Utils:clean :TPM_Utils:build :TPM_Utils:test; \ | |
if (( $? != "0" )) ; then gradle_status=1; fi; \ | |
# Use the war file archive to fail the Build ACA tests by not placing them in the artifacts folder | |
if (( $gradle_status == "0" )) ; then \ | |
cp /HIRS/HIRS_AttestationCA/build/libs/HIRS_AttestationCA.war /HIRS/artifacts/wars/.; \ | |
cp /HIRS/HIRS_AttestationCAPortal/build/libs/HIRS_AttestationCAPortal.war /HIRS/artifacts/wars/.; \ | |
echo "Build Worked"; \ | |
else \ | |
echo "Build Failed"; \ | |
fi; popd;' \ | |
- name: Archive Report files | |
uses: actions/upload-artifact@v2 | |
with: | |
name: HIRS_Build_Reports | |
path: artifacts/reports/* | |
if-no-files-found: ignore | |
# if-no-files-found used to fail the ACA unti tests | |
- name: Archive WAR files | |
uses: actions/upload-artifact@v2 | |
with: | |
name: WAR_Files | |
path: artifacts/wars/* | |
if-no-files-found: error | |
# Process eventlog and rim tool seperately to save time building | |
tcg_eventlog_tool_tests: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
packages: write | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up JDK 8 | |
uses: actions/setup-java@v2 | |
with: | |
java-version: '8' | |
distribution: 'adopt' | |
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml | |
settings-path: ${{ github.workspace }} # location for the settings.xml file | |
- name: build and test event log tool | |
run: | | |
mkdir -p artifacts/reports/tcg_eventlog_tool; | |
./gradlew :tools/tcg_eventlog_tool:build :tools/tcg_eventlog_tool:test; | |
if (( $? != "0" )) ; then | |
cp -r tools/tcg_eventlog_tool/build/reports/ artifacts/reports/tcg_eventlog_tool/.; | |
fi | |
- name: Archive Report files | |
uses: actions/upload-artifact@v2 | |
with: | |
name: tcg_eventlog_tool_reports | |
path: artifacts/reports/* | |
if-no-files-found: ignore | |
tcg_rim_tool_tests: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
packages: write | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up JDK 8 | |
uses: actions/setup-java@v2 | |
with: | |
java-version: '8' | |
distribution: 'adopt' | |
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml | |
settings-path: ${{ github.workspace }} # location for the settings.xml file | |
- name: build and test event log tool | |
run: | | |
mkdir -p artifacts/reports/tcg_rim_tool; | |
./gradlew :tools/tcg_rim_tool:build :tools/tcg_rim_tool:test; | |
if (( $? != "0" )) ; then | |
cp -r tools/tcg_rim_tool/build/reports/ artifacts/reports/tcg_rim_tool/.; | |
fi | |
- name: Archive Report files | |
uses: actions/upload-artifact@v2 | |
with: | |
name: tcg_rim_tool_reports | |
path: artifacts/reports/* | |
if-no-files-found: ignore |