Update README.md (#62) #178
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
# =================================================================================================== | |
# Please use this workflow if your github repo is private or public without external contributions. | |
# =================================================================================================== | |
# This is a basic workflow to help you get started with Actions on CMSIS projects | |
# See also https://community.arm.com/developer/tools-software/tools/b/tools-software-ides-blog/posts/infrastructure-for-continuous-integration-tests | |
# | |
# The repository needs to provide the following secrets | |
# - AWS_ACCESS_KEY_ID The id of the access key. | |
# - AWS_SECRET_ACCESS_KEY The access key secret. | |
# - AWS_DEFAULT_REGION The data center region to be used. | |
# - AWS_S3_BUCKET_NAME The name of the S3 storage bucket to be used for data exchange. | |
# - AWS_IAM_PROFILE The IAM profile to be used. | |
# - AWS_SECURITY_GROUP_ID The id of the security group to add the EC2 instance to. | |
# - AWS_SUBNET_ID The id of the network subnet to connect the EC2 instance to. | |
name: Arm Virtual Hardware basic example | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
paths: | |
- .github/workflows/basic.yml | |
- basic/**/* | |
workflow_dispatch: | |
env: | |
# Enable the next three lines if you are using IAM User and you added them in the repo's secret. | |
# AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
# AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
# AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }} | |
AWS_S3_BUCKET_NAME: ${{ secrets.AWS_S3_BUCKET_NAME }} | |
AWS_IAM_PROFILE: ${{ secrets.AWS_IAM_PROFILE }} | |
AWS_SECURITY_GROUP_ID: ${{ secrets.AWS_SECURITY_GROUP_ID }} | |
AWS_SUBNET_ID: ${{ secrets.AWS_SUBNET_ID }} | |
jobs: | |
ci_test: | |
runs-on: ubuntu-latest | |
permissions: | |
id-token: write | |
contents: read | |
outputs: | |
avhresult: ${{ steps.avh.conclusion }} | |
testbadge: ${{ steps.avh.outputs.badge }} | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v3 | |
- name: Set up Python 3.10 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.10' | |
- name: Install AVH Client for Python | |
run: | | |
pip install git+https://github.com/ARM-software/avhclient.git@v0.1 | |
- uses: ammaraskar/gcc-problem-matcher@master | |
- name: Configure AWS Credentials | |
uses: aws-actions/configure-aws-credentials@v1 | |
with: | |
role-to-assume: arn:aws:iam::720528183931:role/Proj-vht-assume-role | |
aws-region: eu-west-1 | |
- name: Run tests | |
id: avh | |
run: | | |
avhclient -b aws execute --specfile basic/avh.yml | |
- name: Archive results | |
uses: actions/upload-artifact@v3 | |
with: | |
name: results | |
path: | | |
basic/basic-*.zip | |
basic/basic-*.xunit | |
retention-days: 1 | |
if-no-files-found: error | |
if: always() | |
- name: Publish test results | |
uses: mikepenz/action-junit-report@v3 | |
with: | |
check_name: "Test results" | |
report_paths: basic/basic-*.xunit | |
if: always() | |
badge: | |
if: always() && github.event_name == 'push' | |
runs-on: ubuntu-latest | |
needs: ci_test | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v3 | |
with: | |
ref: badges | |
- name: Update badge | |
run: | | |
mkdir -p .github/badges | |
cd .github/badges | |
rm -f basic.yml.*.svg | |
if [[ "${{ needs.ci_test.outputs.avhresult }}" == "success" ]]; then | |
cp vht-completed.svg basic.yml.vht.svg | |
else | |
cp vht-failed.svg basic.yml.vht.svg | |
fi | |
curl -o basic.yml.unittest.svg https://img.shields.io/badge/${{ needs.ci_test.outputs.testbadge }} | |
git config user.name github-actions | |
git config user.email github-actions@github.com | |
git add basic.yml.*.svg | |
if git commit -m "Update badges for workflow basic.yml"; then | |
git push | |
fi |