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'
Name of the built project.
Build mode used when building the artifacts (e.g., Default, Clean, Translated).
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
Artifact name for compiled apps (.app files).
PowerPlatformSolutionArtifactsName
Artifact name for Power Platform solutions.
DependenciesArtifactsName
Artifact name for app dependencies.
Artifact name for test apps.
Artifact name for test results.
BcptTestResultsArtifactsName
Artifact name for BCPT (Business Central Performance Toolkit) test results.
PageScriptingTestResultsArtifactsName
Artifact name for page scripting test results.
PageScriptingTestResultDetailsArtifactsName
Artifact name for detailed page scripting test results.
Artifact name for build output logs and files.
ContainerEventLogArtifactsName
Artifact name for container event logs.
Artifact name for error logs.
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.