This PR should go in after https://github.com/microsoft/AL-Go/pull/955
This PR:
* Fixes all the issues found by the pre-commit hooks (by running
`pre-commit run --all-files`)
* Adds a check on future AL-Go PRs to ensure the pre-commit hooks have
been run.
---------
Co-authored-by: Freddy Kristiansen <freddy.kristiansen@microsoft.com>
Fixes#361
New Settings:
- PowerPlatformSolutionFolder - containing the name of the folder
containing a PowerPlatform Solution (only one)
- companyId and ppEnvironmentUrl added to deploymentSettings for
environments.
New Actions:
- BuildPowerPlatform - to build a PowerPlatform Solution
- DeployPowerPlatform - to deploy a PowerPlatform Solution
- PullPowerPlatformChanges - to pull changes made in PowerPlatform
studio into the repository
- ReadPowerPlatformSettings - to read settings and secrets for
PowerPlatform deployment
- GetArtifactsForDeployment - originally code from deploy.ps1 to
retrieve artifacts for releases or builds - now as an action to read
apps into a folder.
New Workflows:
- Pull PowerPlatform Changes
- Push PowerPlatform Changes
Other changes
- Getting artifacts for deployment moved from deploy.ps1 to a seperate
action
- Test for specific version of containerhelper moved to avoid many
warnings
- Add scenarios for PowerPlatform
- Add PowerPlatformSolution artifact to builds
- Add unpack parameter to DownloadArtifact to unpack after download.
TO:DO
- [x] Fix failing CI tests
- [x] Ensure End 2 End test are passing
- [x] Increment version number in PowerPlatform project (awaits
Increment Version Number PR from @mazhelez)
- [x] Unit Tests
- [x] End 2 End test
- [x] Remove PREVIEW prefix from various docs
- [x] Remove usage of private version of BcContainerHelper
- [x] Release notes
- [x] Document new settings
---------
Co-authored-by: freddydk <freddydk@users.noreply.github.com>
Co-authored-by: Maria Zhelezova <43066499+mazhelez@users.noreply.github.com>
Co-authored-by: Alexander Holstrup <117829001+aholstrup1@users.noreply.github.com>
Co-authored-by: andersgMSFT <90765077+andersgMSFT@users.noreply.github.com>
### Issues
- ContainerName used during build was invalid if project names contained
special characters
- Issue 1009 by adding a includeDependencies property in
DeliverToAppSource
- Issue 997 'Deliver to AppSource' action fails for projects containing
a space (or any special character)
- Issue 987 Resource not accessible by integration when creating release
from specific version
- Issue 979 Publish to AppSource Documentation
### New Settings
- `deliverToAppSource`: a JSON object containing the following
properties
- **productId** must be the product Id from partner Center.
- **mainAppFolder** specifies the appFolder of the main app if you have
multiple apps in the same project.
- **continuousDelivery** can be set to true to enable continuous
delivery of every successful build to AppSource Validation. Note that
the app will only be in preview in AppSource and you will need to
manually press GO LIVE in order for the app to be promoted to
production.
- **includeDependencies** can be set to an array of file names (incl.
wildcards) which are the names of the dependencies to include in the
AppSource submission. Note that you need to set
`generateDependencyArtifact` in the project settings file to true in
order to include dependencies.
### Deprecated Settings
- `appSourceContinuousDelivery` is moved to the `deliverToAppSource`
structure
- `appSourceMainAppFolder` is moved to the `deliverToAppSource`
structure
- `appSourceProductId` is moved to the `deliverToAppSource` structure
Fixes#1009Fixes#997Fixes#987Fixes#979
---------
Co-authored-by: freddydk <freddydk@users.noreply.github.com>
### The only real code change is in ReadSecrets
- If you precede a secret name with an asterisk in ReadSecrets/get, it
will be encrypted (as well as base64 encoded)
- Secrets used as SecureString in code will be requested as encrypted
(codeSignCertificatePassword and KeyVaultCertificatePassword) - allows
us to use ConvertTo-SecureString (without the -plaintext clause)
- Refactor connection to Azure KeyVault to only get credentials once and
keep clientSecret as secureString
This part also contains a bug fix that was introduced in
GetKeyVaultSecret during secrets refactoring (identified by secretName
parameter was never used)
### Whitespace only changes:
- Missing BOM on .ps1 files (all now have BOM - half didn't)
- Whitespace trailing lines (fixed everywhere)
### Suppressions:
- Suppress Analyzer on parameter blocks on test runners
- Suppress ConvertTo-SecureString (with plain text) in ReadSecretsHelper
- since we get GitHub secrets in clear text in code.
- Variables initialized in BeforeAll in tests
- Assigning isWindows, isMacOS and isLinux when running PS5
### Renaming functions to not use dash in names (must then follow
cmdlets)
### Removing actor+token from ReadSettings action as this is no longer
needed
- Functionality needing these have been moved to seperate actions
---------
Co-authored-by: freddydk <freddydk@users.noreply.github.com>
Co-authored-by: Maria Zhelezova <43066499+mazhelez@users.noreply.github.com>
Issue #171 create a workspace file when creating a project
Issue #356 Publish to AppSource fails in multi project repo
ReadSettings has been refactored to allow organization wide settings to be added as well. CI Tests have been added to cover ReadSettings.
The primary change is to ensure that $baseFolder is always the $baseFolder and $projectFolder is always a project folder (they are the same in a single project repo).
ReadSettings and more now have two parameters: baseFolder and project - which clearly specifies when to read project settings files and when to read repo settings files only
Comments have been added to ReadSettings and MergeCustomObjectIntoOrderedDictionary
Co-authored-by: freddydk <freddyk@microsoft.com>
just some markdown formatting to improve readability of the links. Judging by the way you had formatted it originally I think you intended to have it as a list anyway? Can cancel this PR if that wasn't the case.
Also used this as an exercise for following your steps outlined in "Contributing"