Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated AL-Go System Files #24450

Merged
merged 1 commit into from
Aug 16, 2023
Merged

Conversation

bcbuild-github-agent
Copy link
Collaborator

v3.2

Issues

Issue 542 Deploy Workflow fails
Issue 558 CI/CD attempts to deploy from feature branch
Issue 559 Changelog includes wrong commits
Publish to AppSource fails if publisher name or app name contains national or special characters
Issue 598 Cleanup during flush if build pipeline doesn't cleanup properly
Issue 608 When creating a release, throw error if no new artifacts have been added
Issue 528 Give better error messages when uploading to storage accounts
Create Online Development environment workflow failed in AppSource template unless AppSourceCopMandatoryAffixes is defined in repository settings file
Create Online Development environment workflow didn't have a project parameter and only worked for single project repositories
Create Online Development environment workflow didn't work if runs-on was set to Linux
Special characters are not supported in RepoName, Project names or other settings - Use UTF8 encoding to handle special characters in GITHUB_OUTPUT and GITHUB_ENV

Issue 555

AL-Go contains several workflows, which create a Pull Request or pushes code directly.
All (except Update AL-Go System Files) earlier used the GITHUB_TOKEN to create the PR or commit.
The problem using GITHUB_TOKEN is that is doesn't trigger a pull request build or a commit build.
This is by design: https://docs.github.com/en/actions/using-workflows/triggering-a-workflow#triggering-a-workflow-from-a-workflow
Now, you can set the checkbox called Use GhTokenWorkflow to allowing you to use the GhTokenWorkflow instead of the GITHUB_TOKEN - making sure that workflows are triggered

New Settings

  • keyVaultCodesignCertificateName: With this setting you can delegate the codesigning to an Azure Key Vault. This can be useful if your certificate has to be stored in a Hardware Security Module
  • PullRequestTrigger: With this setting you can set which trigger to use for Pull Request Builds. By default AL-Go will use pull_request_target.

New Actions

  • DownloadProjectDependencies: Downloads the dependency apps for a given project and build mode.

Settings and Secrets in AL-Go for GitHub

In earlier versions of AL-Go for GitHub, all settings were available as individual environment variables to scripts and overrides, this is no longer the case.
Settings were also available as one compressed JSON structure in env:Settings, this is still the case.
Settings can no longer contain line breaks. It might have been possible to use line breaks earlier, but it would likely have unwanted consequences.
Use $settings = $ENV:Settings | ConvertFrom-Json to get all settings in PowerShell.

In earlier versions of AL-Go for GitHub, all secrets requested by AL-Go for GitHub were available as individual environment variables to scripts and overrides, this is no longer the case.
As described in bug 647, all secrets available to the workflow were also available in env:_Secrets, this is no longer the case.
All requested secrets were also available (base64 encoded) as one compressed JSON structure in env:Secrets, this is still the case.
Use $secrets = $ENV:Secrets | ConvertFrom-Json to get all requested secrets in PowerShell.
You cannot get to any secrets that weren't requested by AL-Go for GitHub.

@bcbuild-github-agent bcbuild-github-agent requested a review from a team as a code owner August 16, 2023 13:09
@mazhelez mazhelez merged commit 04af9ca into main Aug 16, 2023
3 checks passed
@mazhelez mazhelez deleted the update-al-go-system-files/main/230816130943 branch August 16, 2023 13:11
@JesperSchulz JesperSchulz added the internal Internal pull request. Not a product change. label Sep 20, 2023
aholstrup1 pushed a commit to aholstrup1/ALAppExtensions that referenced this pull request Sep 6, 2024
## v3.2

### Issues

Issue 542 Deploy Workflow fails
Issue 558 CI/CD attempts to deploy from feature branch
Issue 559 Changelog includes wrong commits
Publish to AppSource fails if publisher name or app name contains
national or special characters
Issue 598 Cleanup during flush if build pipeline doesn't cleanup
properly
Issue 608 When creating a release, throw error if no new artifacts have
been added
Issue 528 Give better error messages when uploading to storage accounts
Create Online Development environment workflow failed in AppSource
template unless AppSourceCopMandatoryAffixes is defined in repository
settings file
Create Online Development environment workflow didn't have a project
parameter and only worked for single project repositories
Create Online Development environment workflow didn't work if runs-on
was set to Linux
Special characters are not supported in RepoName, Project names or other
settings - Use UTF8 encoding to handle special characters in
GITHUB_OUTPUT and GITHUB_ENV

### Issue 555
AL-Go contains several workflows, which create a Pull Request or pushes
code directly.
All (except Update AL-Go System Files) earlier used the GITHUB_TOKEN to
create the PR or commit.
The problem using GITHUB_TOKEN is that is doesn't trigger a pull request
build or a commit build.
This is by design:
https://docs.github.com/en/actions/using-workflows/triggering-a-workflow#triggering-a-workflow-from-a-workflow
Now, you can set the checkbox called Use GhTokenWorkflow to allowing you
to use the GhTokenWorkflow instead of the GITHUB_TOKEN - making sure
that workflows are triggered

### New Settings
- `keyVaultCodesignCertificateName`: With this setting you can delegate
the codesigning to an Azure Key Vault. This can be useful if your
certificate has to be stored in a Hardware Security Module
- `PullRequestTrigger`: With this setting you can set which trigger to
use for Pull Request Builds. By default AL-Go will use
pull_request_target.

### New Actions
- `DownloadProjectDependencies`: Downloads the dependency apps for a
given project and build mode.

### Settings and Secrets in AL-Go for GitHub
In earlier versions of AL-Go for GitHub, all settings were available as
individual environment variables to scripts and overrides, this is no
longer the case.
Settings were also available as one compressed JSON structure in
env:Settings, this is still the case.
Settings can no longer contain line breaks. It might have been possible
to use line breaks earlier, but it would likely have unwanted
consequences.
Use `$settings = $ENV:Settings | ConvertFrom-Json` to get all settings
in PowerShell.

In earlier versions of AL-Go for GitHub, all secrets requested by AL-Go
for GitHub were available as individual environment variables to scripts
and overrides, this is no longer the case.
As described in bug 647, all secrets available to the workflow were also
available in env:_Secrets, this is no longer the case.
All requested secrets were also available (base64 encoded) as one
compressed JSON structure in env:Secrets, this is still the case.
Use `$secrets = $ENV:Secrets | ConvertFrom-Json` to get all requested
secrets in PowerShell.
You cannot get to any secrets that weren't requested by AL-Go for
GitHub.

Co-authored-by: mazhelez <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
internal Internal pull request. Not a product change.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants