snphost PR CI test for PR #5/PR source branch(tyler-update-4) #80
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
name: snphost CI PR test | |
on: | |
pull_request_target: | |
types: | |
- reopened | |
- opened | |
- edited | |
- synchronize | |
workflow_dispatch: | |
inputs: | |
pull_request_number: | |
description: 'Specify the pull request number' | |
pull_request_branch: | |
description: 'Specify pull request source branch' | |
jobs: | |
host_firmware_tests: | |
runs-on: self-hosted | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v3 | |
- name: Show the active SNP host kernel version on the host | |
run: uname -r | |
- name: Check if SNP is enabled on the host | |
run: | | |
set -e | |
source ./.github/workflows/snp_function_declarations.sh | |
verify_snp_host | |
- name: Set the PR number and PR branch environment based on GH Action event type | |
run: | | |
event_pr_number='' | |
event_pr_branch='' | |
if [ ${{ github.event_name }} == "pull_request_target" ]; then | |
event_pr_number=${{ github.event.pull_request.number }} | |
event_pr_branch=${{ github.event.pull_request.head.ref }} | |
elif [ ${{ github.event_name }} == "workflow_dispatch" ]; then | |
event_pr_number=${{ github.event.inputs.pull_request_number }} | |
event_pr_branch=${{ github.event.inputs.pull_request_branch }} | |
fi | |
echo "pr_number=${event_pr_number}" >> $GITHUB_ENV | |
echo "pr_branch=${event_pr_branch}" >> $GITHUB_ENV | |
- name: Show the GH environment variable current values | |
run: | | |
echo "GH Action PR number = ${{ env.pr_number }}" | |
echo "GH Action PR branch = ${{ env.pr_branch }}" | |
- name: Run snphost cargo test on the host | |
run: | | |
set -e | |
# Check and install dependencies on the host | |
source ./.github/workflows/snp_function_declarations.sh | |
check_rust_on_host | |
cd ${HOME}/ | |
git clone https://github.com/LakshmiSaiHarika/snphost.git | |
cd ./snphost | |
# Checkout the PR branch | |
if [[ ${{ github.event_name }} == "pull_request_target" || ${{ github.event_name }} == "workflow_dispatch" ]]; then | |
git fetch origin pull/${{ env.pr_number }}/head:${{ env.pr_branch }} | |
git switch ${{ env.pr_branch }} | |
fi | |
# Perform cargo test on the host | |
cargo test | |
- name: snphost post cleanup tasks | |
if: always() | |
run: rm -rf ${HOME}/snphost | |
# Update this workflow title dynamically with PR details | |
run-name: | | |
${{ (startsWith(github.event_name, 'workflow_dispatch') && format('snphost PR CI test for PR #{0}/PR source branch({1})', github.event.inputs.pull_request_number, github.event.inputs.pull_request_branch)) || | |
(startsWith(github.event_name, 'pull_request') && format('{0}', github.event.pull_request.title )) }} | |