Setup AL-Go Settings
The AL-Go settings of a GitHub repository control the behavior of the development and build containers as well as the GitHub workflows.
- They can be defined in GitHub variables or in various settings files as documented in the AL-Go documentation
- They can contain conditional settings as documented in the AL-Go documentation
- They are merged as documented in the AL-Go documentation
Development containers are created via VS Code while Build containers are automatically created by Build workflows (e.g. CI/CD) to publish compiled apps and run automated tests on them.
AL-Go settings
All available AL-Go settings are documented in the AL-Go documentation
| Element | Type | Default | Scope | Value |
|---|---|---|---|---|
country |
string | us |
container, workflow | The country to determine the BC artifact. AL-Go documentation |
artifact |
string | bcartifacts/sandbox//<country>/latest |
container, workflow | The reference to the BC artifact used to create a container. Either absolute url ( https://...) or search uri (<storageaccount>/<type>/<version>/<country>/<select>). AL-Go documentation |
trustedNuGetFeeds |
object[] | [] |
container, workflow | Array of trusted NuGet feed specifications. (e.g. { "url": "...", "authTokenSecret": "..." }) AL-Go documentation |
trustMicrosoftNuGetFeeds |
boolean | true |
container, workflow | Set true to trust NuGet feeds provided by Microsoft. AL-Go documentation |
versioningStrategy |
integer | 0 |
workflow | Determines how versioning is performed. Use the AL-Go default 0 unless you have a concrete reason for another strategy. AL-Go documentation |
assignPremiumPlan |
boolean | false |
container | Set true to enable premium user experience for the default user of sandbox containers. AL-Go documentation |
BcContainerHelper Settings
The AL-Go settings can contain BcContainerHelper settings as documented in the AL-Go documentation
| Element | Type | Default | Scope | Value |
|---|---|---|---|---|
TreatWarningsAsErrors |
string[] | [] |
workflow | Array of AL warning codes, which should be treated as errors. |
COSMO Alpaca Settings
The AL-Go settings can contain COSMO Alpaca specific settings, which are stored in the property alpaca.
{
"$schema": "https://raw.githubusercontent.com/microsoft/AL-Go-Actions/v8.1/.Modules/settings.schema.json",
"country": "w1", // AL-Go Setting
"debugMode": true, // BcContainerHelper Setting
"alpaca": {
"artifacts": [] // COSMO Alpaca Setting
}
}
Artifacts
Settings to setup artifacts for containers.
| Element | Type | Default | Scope | Value |
|---|---|---|---|---|
alpaca.artifacts |
object[] | [] |
container | Array of artifacts to import during the startup of a container. COSMO Alpaca documentation |
Authentication
| Element | Type | Default | Scope | Value |
|---|---|---|---|---|
alpaca.auth |
string | NavUserPassword |
container | The authentication method to access the container. This can be either NavUserPassword (default) or AAD. |
Important
To use AAD authentication, you must have a verified email address in your GitHub account that matches the domain of the AAD authentication configuration.
Note
This setting is only relevant for development containers created via VS Code. Build containers used in GitHub workflows always use NavUserPassword authentication.
Translations
Settings to setup translations creation and testing using xliff-sync.
| Element | Type | Default | Scope | Value |
|---|---|---|---|---|
alpaca.createTranslations |
boolean | false |
workflow | Set true to enable automatic generation of translation files (.xlf) based on the comments (e.g. Comment="de-DE=Foo||de-AT=Bar") for AL caption/labels using xliff-sync. |
alpaca.translationLanguages |
string[] | [] |
workflow | Array of language tags for which the translation files are to be generated (e.g. [ "de-DE", "de-AT" ]) |
alpaca.testTranslations |
boolean | false |
workflow | Set true to enable tests of translation files (.xlf) for missing translations and additional rules using xliff-sync |
alpaca.testTranslationRules |
string[] | [] |
workflow | Array of the additional rules for which the generated translations files should be tested (All, ConsecutiveSpacesConsistent, ConsecutiveSpacesExist, OptionMemberCount, OptionLeadingSpaces, Placeholders, PlaceholdersDevNote). See xliff-sync documentation for details. |
Breaking Change Check using NuGet Feeds
Settings to change the behavior of the breaking change check of the build workflows.
| Element | Type | Default | Scope | Value |
|---|---|---|---|---|
alpaca.useNuGetFeedsForUpgrade |
boolean | false |
workflow | Set true to test for breaking changes by downloading previous app versions from the trusted NuGet feeds rather than from the assets of the latest GitHub release. |
Migrating from alpaca.json
Migrate and remove existing alpaca.json files.
Mapping of container configurations to AL-Go settings files:
- default -> .github/AL-Go-Settings.json
- current -> .github/AL-Go-Settings.json
- NextMinor -> .github/Test Next Minor.settings.json
- NextMajor -> .github/Test Next Major.settings.json
Mapping of container configuration settings to AL-Go settings
- name -> N/A
- inheritFromWorkflow -> N/A
- country -> country
- storageAccount, type, version, select -> artifact
- artifacts -> alpaca.artifacts