diff --git a/Actions/AL-Go-Helper.ps1 b/Actions/AL-Go-Helper.ps1 index f2fb6a124..4a2244a6d 100644 --- a/Actions/AL-Go-Helper.ps1 +++ b/Actions/AL-Go-Helper.ps1 @@ -586,6 +586,7 @@ function ReadSettings { "failOn" = "error" "treatTestFailuresAsWarnings" = $false "rulesetFile" = "" + "enableExternalRulesets" = $false "vsixFile" = "" "assignPremiumPlan" = $false "enableTaskScheduler" = $false @@ -1860,6 +1861,7 @@ function CreateDevEnv { -failOn $settings.failOn ` -treatTestFailuresAsWarnings:$settings.treatTestFailuresAsWarnings ` -rulesetFile $settings.rulesetFile ` + -enableExternalRulesets:$settings.enableExternalRulesets ` -AppSourceCopMandatoryAffixes $settings.appSourceCopMandatoryAffixes ` -obsoleteTagMinAllowedMajorMinor $settings.obsoleteTagMinAllowedMajorMinor ` -doNotRunTests ` diff --git a/Actions/RunPipeline/RunPipeline.ps1 b/Actions/RunPipeline/RunPipeline.ps1 index 5432d42a4..36cbad598 100644 --- a/Actions/RunPipeline/RunPipeline.ps1 +++ b/Actions/RunPipeline/RunPipeline.ps1 @@ -400,6 +400,7 @@ try { -failOn $settings.failOn ` -treatTestFailuresAsWarnings:$settings.treatTestFailuresAsWarnings ` -rulesetFile $settings.rulesetFile ` + -enableExternalRulesets:$settings.enableExternalRulesets ` -appSourceCopMandatoryAffixes $settings.appSourceCopMandatoryAffixes ` -additionalCountries $additionalCountries ` -obsoleteTagMinAllowedMajorMinor $settings.obsoleteTagMinAllowedMajorMinor ` diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 6bd8fe404..88f66b24c 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -8,6 +8,13 @@ As of October 1st 2023, Business Central insider builds are now publicly availab AL-Go for GitHub allows you to build and test using insider builds without any explicit approval, but please note that the insider artifacts contains the insider Eula and you automatically accept this when using the builds. +### Issues +- Issue 730 Support for external rulesets. + +### New Settings +- `enableExternalRulesets`: set this setting to true if you want to allow AL-Go to automatically download external references in rulesets. + + ## v3.3 ### Issues diff --git a/Scenarios/MigrateFromAzureDevOpsWithHistory.md b/Scenarios/MigrateFromAzureDevOpsWithHistory.md index 8d245ba9f..3ea903144 100644 --- a/Scenarios/MigrateFromAzureDevOpsWithHistory.md +++ b/Scenarios/MigrateFromAzureDevOpsWithHistory.md @@ -34,6 +34,7 @@ - enableCodeCop, see https://aka.ms/algosettings#enableCodeCop - enableUICop, see https://aka.ms/algosettings#enableUICop - rulesetFile, see https://aka.ms/algosettings#rulesetFile + - enableExternalRulesets, see https://aka.ms/algosettings#enableExternalRulesets - runNumberOffset, see https://aka.ms/algosettings#runNumberOffset Also, if you are migrating an AppSource App, you will need to create a secret called LicenseFileUrl, which should contain a secure direct download URL to your license file, as mentioned [here](SetupCiCdForExistingAppSourceApp.md). diff --git a/Scenarios/MigrateFromAzureDevOpsWithoutHistory.md b/Scenarios/MigrateFromAzureDevOpsWithoutHistory.md index 75832d0de..f4d23d543 100644 --- a/Scenarios/MigrateFromAzureDevOpsWithoutHistory.md +++ b/Scenarios/MigrateFromAzureDevOpsWithoutHistory.md @@ -24,6 +24,7 @@ - enableCodeCop, see https://aka.ms/algosettings#enableCodeCop - enableUICop, see https://aka.ms/algosettings#enableUICop - rulesetFile, see https://aka.ms/algosettings#rulesetFile + - enableExternalRulesets, see https://aka.ms/algosettings#enableExternalRulesets - runNumberOffset, see https://aka.ms/algosettings#runNumberOffset Also, if you are migrating an AppSource App, you will need to create a secret called LicenseFileUrl, which should contain a secure direct download URL to your license file, as mentioned [here](SetupCiCdForExistingAppSourceApp.md). diff --git a/Scenarios/settings.md b/Scenarios/settings.md index 9fd05ddbb..b7c11cc46 100644 --- a/Scenarios/settings.md +++ b/Scenarios/settings.md @@ -89,6 +89,7 @@ The repository settings are only read from the repository settings file (.github | customCodeCops | CustomCodeCops is an array of paths or URLs to custom Code Cop DLLs you want to enable when building. | [ ] | | failOn | Specifies what the pipeline will fail on. Allowed values are none, warning and error | error | | rulesetFile | Filename of the custom ruleset file | | +| enableExternalRulesets | If enableExternalRulesets is set to true, then you can have external rule references in the ruleset | false | | vsixFile | A direct download URL, pointing to the AL Language VSIX file to use for building the apps. By default, AL-Go uses the AL Language extension, which is shipped with the artifacts used for the build. | | | codeSignCertificateUrlSecretName
codeSignCertificatePasswordSecretName | When developing AppSource Apps, your app needs to be code signed and you need to add secrets to GitHub secrets or Azure KeyVault, specifying the secure URL from which your codesigning certificate pfx file can be downloaded and the password for this certificate. These settings specifies the names (**NOT the secrets**) of the code signing certificate url and password. Default is to look for secrets called CodeSignCertificateUrl and CodeSignCertificatePassword. Read [this](SetupCiCdForExistingAppSourceApp.md) for more information. | CodeSignCertificateUrl
CodeSignCertificatePassword | | keyVaultCodesignCertificateName | Name of a certificate stored in your KeyVault that can be used to codesigning. To use this setting you will also need enable Azure KeyVault in your AL-GO project. Read [this](UseAzureKeyVault.md) for more information | |