Skip to main content
The Calculate Artifact Names action generates standardized names for various build artifacts produced during AL-Go workflows.

Usage

- uses: microsoft/AL-Go/Actions/CalculateArtifactNames@main
  id: artifactNames
  with:
    project: 'MyProject'
    buildMode: 'Default'

Inputs

project
string
required
Name of the built project.
buildMode
string
required
Build mode used when building the artifacts (e.g., Default, Clean, Translated).
suffix
string
default:""
Suffix to add to the artifact names (e.g., for versioning or environment differentiation).
shell
string
default:"powershell"
Shell in which you want to run the action. Options: powershell or pwsh.

Outputs

AppsArtifactsName
string
Artifact name for compiled apps (.app files).
PowerPlatformSolutionArtifactsName
string
Artifact name for Power Platform solutions.
DependenciesArtifactsName
string
Artifact name for app dependencies.
TestAppsArtifactsName
string
Artifact name for test apps.
TestResultsArtifactsName
string
Artifact name for test results.
BcptTestResultsArtifactsName
string
Artifact name for BCPT (Business Central Performance Toolkit) test results.
PageScriptingTestResultsArtifactsName
string
Artifact name for page scripting test results.
PageScriptingTestResultDetailsArtifactsName
string
Artifact name for detailed page scripting test results.
BuildOutputArtifactsName
string
Artifact name for build output logs and files.
ContainerEventLogArtifactsName
string
Artifact name for container event logs.
ErrorLogsArtifactsName
string
Artifact name for error logs.
BuildMode
string
Build mode used when building the artifacts (echoed from input).

Example

Calculate artifact names and use them in upload steps:
name: Build and Upload Artifacts
on:
  push:
    branches: [ main ]

jobs:
  build:
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v4
      
      - name: Calculate Artifact Names
        uses: microsoft/AL-Go/Actions/CalculateArtifactNames@main
        id: artifactNames
        with:
          project: 'MyProject'
          buildMode: 'Default'
          suffix: '-v1.0'
      
      - name: Upload Apps
        uses: actions/upload-artifact@v4
        with:
          name: ${{ steps.artifactNames.outputs.AppsArtifactsName }}
          path: output/*.app
      
      - name: Upload Test Results
        uses: actions/upload-artifact@v4
        with:
          name: ${{ steps.artifactNames.outputs.TestResultsArtifactsName }}
          path: testresults/*.xml
This action ensures consistent artifact naming across your workflows, making it easier to identify and download artifacts from different builds.
The artifact names are generated based on the project name, build mode, and suffix. Ensure these inputs are consistent across your workflow to maintain artifact naming consistency.

Build docs developers (and LLMs) love