Prerequisites: A completed scenario 5
-
Every time a CI/CD pipeline runs, it checks whether there are updates to AL-Go system files. AL-Go System files are scripts in the .AL-Go folder and workflows in the .github folder. Looking into the details of the Check for updates to Al-Go system files, usually looks like this
-
In VS Code, try to modify the LocalDevEnv.ps1 file, stage the change, commit and push.
-
Now there is a difference. AL-Go doesn’t support that anybody changes the AL-Go system files and will warn about these changes. The CI/CD pipeline, which kicked off when pushing the change, tells me about this.
-
To update the AL-Go system files using the Update AL-Go System Files workflow, you need to provide a secret called GHTOKENWORKFLOW containing a Personal Access Token with permissions to modify workflows. Personal access tokens are either fine-grained personal access tokens or classic personal access tokens. AL-Go for GitHub works with both if you have enabled these tokens in organization settings:
-
To create a classic personal access token, navigate to New personal access token in a browser. Name it, set the expiration date and check the workflow option in the list of scopes. The classic tokens have access to all repositories, which you as a user have access to.
-
To create a fine-grained personal access token, navigate to New fine-grained personal access token in a browser. Name it, set the expiration date and specify which repositories to include. You need to and assign Read and Write permissions to Contents, Pull Requests and Workflows. You also need to assign Read-only permissions to Actions.
-
Generate the token and copy it to the clipboard. You won’t be able to see the token again.
-
On github.com, open Settings in your project and select Secrets. Choose the New repository secret button and create a secret called GHTOKENWORKFLOW and paste the personal access token in the value field and choose Add secret.
-
On github.com, under Actions in your project, select the Update AL-Go system files workflow and choose Run workflow. Leave the Template Repository URL blank and choose Run workflow.
-
Inspect the pull request and see that it indeed reverts your change to the
LocalDevEnv.ps1
file.
- By default, this workflow will apply any updates to the workflow files (in .github\workflows) or system scripts (in .AL-Go) from the template repository used to spin up the repository. If you want to change branch or template Url, you can specify the
templateUrl@branch
when you run the workflow.