Table of Contents

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.

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 (Recommendation: 3).
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

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.

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