videoPlatform, DevOps & Performanceofficial - Microsoftreviewed - checked by Opus

AL Go for GitHub February Office Hour

AL Go for GitHub February 2025 office hour: preview features after version 6.3 (GitHub app authentication, secrets in install apps, incremental builds), workflow concurrency, test app deployment to sandboxes, upcoming deprecations, and Q&A on build performance, runtime packages and container helper.

  1. 0:00 Introduction and agenda
  2. 1:01 Overview of preview features and release notes
  3. 2:49 GitHub app authentication for improved security
  4. 7:24 Secrets in install apps and embedded credentials
  5. 9:29 Incremental builds feature overview and demonstration
  6. 13:53 Workflow concurrency, test apps deployment, and deprecation changes
  7. 18:12 Deprecation timeline and schedule setting migration
  8. 19:44 Q&A: Private repos, GitHub apps, build logic, telemetry, and container helper
  9. 26:34 Container helper, AL Go architecture, and trusted signing
  10. 31:20 Override functions and incremental builds optimization
  11. 35:07 AL Go adoption metrics, migration strategies, and runtime packages
  12. 39:35 Repository management and template capabilities
  13. 42:16 Federated credentials, AppSource runtime packages, and scheduled deployments
  14. 47:34 Pipeline performance optimization and build time reduction strategies
  15. 51:58 Testing performance and compiler optimization insights
  16. 54:40 Closing remarks and next office hour schedule
video Microsoft Dynamics 365 Business Central (YouTube) · 2025-03-06Watch on YouTube

Overview

The session covers what is new in AL Go for GitHub. Version 6.3 is the latest shipped version, and everything shown on top of it is in preview. Topics include GitHub app authentication to replace personal access tokens, secret references in install apps settings, and incremental builds that build and publish only modified apps.

The team also covers workflow concurrency, pushing test apps to online environments, and a deprecation schedule with dates in April and October. The Q&A deals with private repos, telemetry, the future move away from container helper, runtime packages, scheduled deployments, and ways to shorten build and test times.

Key points

  • GitHub app authentication is in preview and uses an app ID and private key instead of personal access tokens. GitHub packages still needs a fine-grained token, and create release does not yet work with it. GitHub apps are not supported in 6.1 and are expected to be available in 6.4.
  • Secrets can be referenced with dollar sign and curly brackets in install apps and install test apps settings, so they are not exposed in source code or logs (preview).
  • Incremental builds (preview) are not enabled by default, except on pull requests. They can be configured per trigger (push, pull request, schedule), in modified apps or modified projects mode. They are branch-specific, and release branches do not yet use releases as baseline.
  • Incremental builds should be combined with workflow concurrency settings, which go in conditional settings or a workflow-specific settings file.
  • Deprecations: clean mode pre-processor symbols change after April 1st (use conditional settings with build modes). The always build all projects setting changes after October 1st. The dynamic schedule setting moves to a workflow-specific workflow schedule setting after October 1st.
  • A new deploy setting, include test apps in sandbox environment, publishes test apps and their dependencies to online sandboxes, mainly for running AI tests on demand because running them on every build is costly. Test apps that depend on Test Libraries are skipped. A new online-installable version of Test Libraries is expected no earlier than April 1st, probably October.
  • To speed up builds for projects without tests, set use compiler folder to true together with do not publish apps (3-4 minutes versus 15-20 for the standard container build). This prevents test execution. Running tests in online sandboxes is being worked on but is not possible now.

Features

Feature Status At Evidence
GitHub app authentication preview, demoed 2:49 “what’s right now been shipped in preview is uh GitHub app authentication the ability to embed secrets in install apps and install test apps” (2:49)
Embed secrets in install apps preview, demoed 7:24 “so what we’ve done in preview right now is the ability to add like a dollar sign and and some curly brackets” (8:25)
Incremental builds preview, demoed 9:29 “shipped in preview is uh GitHub app authentication the ability to embed secrets in install apps and install test apps um incremental builds” (2:49)
Workflow concurrency status not stated 13:53
Push test apps to online environments status not stated 2:49
Include test apps in sandbox environment setting status not stated 16:50
MS AL-Go deprecations documentation status not stated 18:12
Clean mode pre-processor symbols deprecation status not stated 18:32
Always build all projects setting deprecation status not stated 18:53
Workflow schedule setting migration announced 18:53 “the setting where like the schedule and the workflow name is is a like a dynamic setting key name uh will be changed to” (18:53)
Private repository support in AL-Go status not stated 20:09
Last known good build detection status not stated 22:47
Container Helper Telemetry status not stated 26:13
AL Go Architecture Transition announced 27:17 “in the future the the as go algo will stop using container hel so over the next two to three years algo will will” (27:17)
Override Functions for Run Pipeline status not stated 30:06
Trusted Signing in AL Go status not stated 30:59
Runtime Packages without Full Dependencies status not stated 38:41
Template Capabilities for Repository Management status not stated 40:04
Federated credentials for Azure subscriptions status not stated 42:16
Runtime packages for AppSource apps status not stated 43:37
Multiple NuGet feeds support status not stated 44:51
Scheduled deployment outside working hours status not stated 45:58
Custom build checks in AL Go status not stated 47:00
Container-based build optimization status not stated 49:37
Use compiler folder setting status not stated 50:10
Multi-project build and test strategy status not stated 50:50
Online sandbox testing for AL Go announced 51:27 “run the tests in online sandboxes which is not possible right now but it’s something we are we’ve been working on” (51:27)

AL objects mentioned

As heard in the captions. A name that matches one object page by exact type and name links to it; the others stay as named.

  • other “AO office hours 2025-2” at 3:27
  • other “MS AL-Go deprecations” at 18:12
  • other “SBC container app PS1” at 30:34
  • other “GitHub App” at 42:16
  • other “BC apps repository” at 47:14

Quotes

  • 1:21 “everything that you’ll see here is in preview um so we’ll go through what’s new”
  • 2:07 “version 6.3 is the latest version that has shipped and everything that is on top of that is right now in preview”
  • 3:39 “GitHub app authentication uh is really all about hardening uh security for AO for GitHub”
  • 3:59 “access token god access with no expiration it impersonates the user that creates the token has access to all the repository”
  • 9:45 “incremental builds not really because the build time takes a lot of time but mostly because the publishing time takes a lot of time”
  • 10:05 “you don’t publish apps that have just a new version number but but hasn’t really been updated”
  • 11:36 “by default it’s only enabled on pull requests and that’s because it was already enabled on pull requests earlier”
  • 13:33 “the actual apps have the version number of when they were built and as such when they try to publish those to an online”
  • 15:27 “the workflow concurrency is described very well uh in in settings or in GitHub where you’ll have the the ability to differentiate whether you”
  • 16:29 “the primary reason for not running AI tests uh on every single build is a matter of uh of cost because it’s not cheap”
  • 16:50 “two settings in deploy two structure one called include test apps in sandbox environment and you set that to true”
  • 17:23 “they do expect in um I don’t know exactly it’s probably not going to be uh before April 1st but it’s probably going to”
  • 18:32 “changes to in effect after April 1st is the clean mode pre-processor symbols instead of of using that you will have to use conditional”
  • 18:53 “that’s going to be in effect uh after October 1st is the setting called Always build all projects uh instead of that you should”
  • 22:15 “GitHub abs are currently not supported in version 6.1 you would need to update to um is it 6.3 or preview preview preview right”
  • 27:17 “in the future the the as go algo will stop using container hel so over the next two to three years algo will will”
  • 30:34 “if you place a file called SBC container app PS1 in the algo folder uh then this this script will be run whenever you”
  • 33:42 “approximately 2,500 repositories can we can see in Telemetry that are using a gr for GitHub uh or that has been running workflows and”
  • 35:42 “they’re always surprised about how how easy it is to use they go for GitHub because they don’t have to like maintain workflows and”
  • 36:34 “if everybody using custom buil cicd Solutions then everybody would have to like enable page scripting enable AI test toolkits and all of the”
  • 38:41 “I was originally waiting for the modern Dev team to or the developer tools team to uh to create the fun functionality in the”
  • 39:01 “we have to create the runtime packages um as we do now meaning that really what we need to do is to create some”
  • 42:39 “we did create support for Federated credentials but that still requires you to have the ash credentials created”
  • 43:37 “runtime packages is not a guaranteed um it’s not guaranteed you can you can unpack the runtime packages you can find find the the”
  • 44:31 “if you like in your resource exposure policy in app Json or wherever you would say it is allowed for Microsoft to share runtime”
  • 50:10 “if you’re not using tests you can just set the um the setting called use compiler folder to true and then do not publish”
  • 51:27 “run the tests in online sandboxes which is not possible right now but it’s something we are we’ve been working on”
  • 52:49 “you could could get it to fail fast by by using compiler folder but it will have to deploy and run the test anyway”
  • 53:10 “we’re aware of that and and definitely looking to see whether there are things we can do better on”
  • 55:17 “we’ll be back in a month from now last Tuesday of March that’s going to be morning time at 800 a.m. uh Central European”

Disclaimers in the video

  • 1:21 preview: everything that you’ll see here is in preview um so we’ll go through what’s new and then open up for discussion
  • 2:07 preview: version 6.3 is the latest version that has shipped and everything that is on top of that is right now in preview
  • 6:31 subject-to-change: GitHub packages is something that GitHub is missing so you still need to create a fine grain token for that
  • 6:51 subject-to-change: create release doesn’t work uh I do have a fix that I need to test whether that’s that’s a fix for that but right now it does not work
  • 15:48 preview: we are not at this point in time ready to like run AI tests uh on like cicd or automated
  • 17:23 coming-later: they do expect in um I don’t know exactly it’s probably not going to be uh before April 1st but it’s probably going to be for October um that they have a new version of the test libraries
  • 18:32 subject-to-change: changes to in effect after April 1st is the clean mode pre-processor symbols
  • 18:53 subject-to-change: that’s going to be in effect uh after October 1st is the setting called Always build all projects
  • 22:15 preview: right now it’s in preview right now and will be available 6.4
  • 27:17 coming-later: in the future the the as go algo will stop using container hel so over the next two to three years algo will will create a a different mechanism
  • 39:01 not-in-this-release: I was originally waiting for the modern Dev team to or the developer tools team to uh to create the fun functionality in the AL compiler to create onetime packages without the need to have all dependencies in full apps but could utilize symbols of dependencies it seems like they’re not going to deliver that
  • 44:10 coming-later: we’ve talked about two different mechanisms talked about the ability for partners to opt in
  • 45:21 other: right now it go on support to might be an easy fix to do
  • 51:27 coming-later: run the tests in online sandboxes which is not possible right now but it’s something we are we’ve been working on

Presenters (as heard): Freddy Christensen, Alexander, Maran, Johannes, Emanuel, Florian, Florence, Alberto, Peter, CHR.