Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test snphost CI PR test for a new PR #3

Closed
wants to merge 4 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 79 additions & 0 deletions .github/workflows/snphost_ci_test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
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 ./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('snpguest 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 )) }}

2 changes: 2 additions & 0 deletions src/main.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
// SPDX-License-Identifier: Apache-2.0

// comment
// comment for PR test
#![deny(clippy::all)]

mod cert;
Expand Down
Loading