ARM-software/cmsis-actions

June 15, 2026 ยท View on GitHub

Collection of reusable GitHub actions to automate your workflows for embedded projects with Arm processors and/or CMSIS components.

Action: armlm

This action activates an Arm user based license using the armlm license manager.

- name: Activate Arm license
  uses: ARM-software/cmsis-actions/armlm@v1
  with:
    code: <personal product code>
    server: <custom license server>
    product: KEMDK-COM0
inputsdefault valuedescription
code:n/aLicense activation code (takes precedence over server/product).
server:n/aGet a product license from the server specified by a URL.
product:KEMDK-COM0Get a license for the specified product from the server (default MDK Community Edition).

The action can be either called with a license activation code: or a license server: with product: specification. Without any inputs, it activates a license for the Keil MDK - Community Edition which is a free-to-use, non-commercial license which can be used for evaluation.

Usage examples armlm

Action: setup-vcpkg

This action can be used to install vcpkg into the current runner environment.

- name: Install vcpkg
  uses: ARM-software/cmsis-actions/setup-vcpkg@v1
  with:
    version: 2026.04.27
inputsdefault valuedescription
version:2026.04.27The version of vcpkg to install.

NOTE: The required vcpkg-artifacts is dropped after July 1st 2026. Assure the version installed has still support for artifacts.

Action: vcpkg

This action installs a development environment with the tools described in the file vcpkg-configuration.json. The tools are downloaded from the Arm Tools Artifactory. Refer to CMSIS-Toolbox - Installation - vcpkg - Setup using CLI installation guide for more information.

- name: Setup vcpkg environment
  uses: ARM-software/cmsis-actions/vcpkg@v1
  with:
    config: "./vcpkg-configuration.json"
    vcpkg-downloads: "${{ github.workspace }}/.vcpkg/downloads"
    cache: "-"
inputsdefault valuedescription
config:"./vcpkg-configuration.json"Path and filename of the vcpkg configuration file.
vcpkg-downloads:"${{ github.workspace }}/.vcpkg/downloads"Download folder for vcpkg tool artifacts
cache:"-" (no cache used)Create a cache with a key to store tool artifacts.

The activated environment is preserved into $GITHUB_PATH and $GITHUB_ENV so that it can be used by subsequent steps. The cache is based on actions/cache and improves workflow execution time.

Usage examples vcpkg