-
Notifications
You must be signed in to change notification settings - Fork 0
/
action.yml
52 lines (51 loc) · 2.32 KB
/
action.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#
# Copyright (C) 2020-2024 Arm Limited or its affiliates and Contributors. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
#
name: verify-cmsis-example-action
description: GitHub action to verify if a CMSIS example project is compatible with CMSIS tools
inputs:
branch:
description: "Branch to get the project from"
required: false
default: ${{ github.head_ref }}
project-file:
description: "Path to the project to publish relative to the root of the project directory (file with `.csolution.yml` extension) (required)"
required: true
project-directory:
description: "Path to the project directory (defaults to the root of the GitHub repository). This should be used if the repository contains several independent projects."
required: true
default: ${{ github.workspace }}
output-artifact:
description: "Name of the GitHub artifact where the outputs from this verification job will be stored"
default: generated-outputs
required: true
API_TOKEN:
description: "API token for accessing online services"
required: true
runs:
using: "composite"
steps:
- name: Install publishing tool
shell: bash
run: |
echo "deb [trusted=yes] https://artifacts.tools.arm.com/tools-deb bionic main" | sudo tee -a /etc/apt/sources.list.d/artifactory.list
sudo apt-get update
sudo apt install -y verify-cmsis-example-sdk
sudo rm /etc/apt/sources.list.d/artifactory.list
sudo apt-get clean
- name: Verify project
run: |
verify-cmsis-example-sdk verify --project-dir ${{ inputs.project-directory }} --project-path ${{ inputs.project-file }} --out-dir out --api-key ${{ inputs.API_TOKEN }} --log-error 2
# The status code is not being reported correctly and the action is reportedly exiting with 0 when all reproductions of the run on dev machines correctly exit with a status of 1. Therefore we will explicitly check if the error summary was created and exit 1 if it was
if [ -n "$(grep 'Error Summary' $GITHUB_STEP_SUMMARY)" ]; then
echo "::error::Verification of CMSIS project failed"
exit 1
fi
shell: bash
- name: Upload any artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.output-artifact }}
if-no-files-found: ignore
path: out