Like everything else these days, AL-Go for GitHub now also is available in a preview version, which you can install/apply and remove as you like. This allows you to get advantage of a bugfix or new functionality faster.
The template repository
When I create a new repository based on https://github.com/microsoft/AL-Go-PTE, I will get a repository with some workflows and some settings files.
The repo settings file (for repo wide settings) is .github/AL-Go-Settings.json contains just a few settings, one of them being the url@branch from which this repo was created.
The CI/CD workflow uses this information to check whether there are any updates to the template. If updates are available, it is shown as a warning during the workflow:
Update AL-Go System Files
In order to run the Update AL-Go System Files, you will need to create a secret containing a Personal Access Token with workflow permissions (see here)
After this, you can always apply the latest updates to the template, which is pointed out by the URL and the branch in the repo settings file, just by running the Update AL-Go System Files workflow.
If you want to apply the preview version of AL-Go for GitHub, you can just enter the new URL and branch in the workflow parameters and press Run Workflow.
After the workflow finishes, you will find that the PR contains changes to all scripts and workflows + a change to the repo settings file to now use the preview branch as the active template.
Switching back to the main branch (or any earlier release) can be done simply by specifying the URL and branch you want to use.
Note that the preview branch also has undergone full end-2-end testing before the code makes it to preview.
You can see what’s changed and what’s new under the preview section here.
Using BcContainerHelper preview
How unlikely as it might sound, we do find bugs in BcContainerHelper and you might want to use a preview version of BcContainerHelper, or maybe stay on an earlier version (if the latest version comes with a bug).
For this, there is a setting called BcContainerHelperVersion in the repo settings file (same as above).
Edit the file and specify
for using the latest BcContainerHelper preview build.
The default value is latest, which will give you the latest released version and you can also specify 3.0.5 in order to use version 3.0.5.
Your own AL-Go for GitHub
You can also create your own local version of AL-Go for GitHub and it is fairly easy and actually the way we in Microsoft are developing for AL-Go for GitHub.
When I follow this guideline, I end up having 3 repositories:
and the actions in https://github.com/freddydk/AL-Go-Actions
Now, if you are really brave and want to put your DevOps on totally untested code, go ahead and change your AL-Go-Template to one of these and you will be using my development branches as your production branches. That was of course a joke:-)
BTW. You can also specify the value dev in BcContainerHelperVersion, then you will be using my development branch of ContainerHelper in your pipeline – also not recommended for production usage.