Skip to content

Commit

Permalink
New snphost CI PR test workflow
Browse files Browse the repository at this point in the history
Added snphost CI PR test workflow to perform snphost cargo tests on the self-hosted runner for a new PR, updated PR or after SNP kernel update on the self-hosted runner

Signed-off-by: Harika Nittala <[email protected]>
  • Loading branch information
LakshmiSaiHarika committed Nov 18, 2024
1 parent b2bfb06 commit e62617b
Showing 1 changed file with 73 additions and 0 deletions.
73 changes: 73 additions & 0 deletions .github/workflows/snphost_ci_test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
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: Verify if SNP is enabled on the host
run: |
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 ${HOME}/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

0 comments on commit e62617b

Please sign in to comment.