microsoft / microsoft/AL-Go

[Bug]: Project/App folder with umlaut breaks incremental build check

Open
#2,375 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
PowerShell
Stars
506
Forks
203
Avg merge
4d 22h
Merged PRs (30d)
6

Description

AL-Go version

9.2

Describe the issue

The repository contains a project (or app) folder with a umlaut.
Changes to apps in this project are not detected for the incremental build which results in the PR validation skipping the build of this project.
The cause for this issue is the determination of the modified files using "git diff --name-only", which returns umlauts as escaped characters: ö -> \303\266

Expected behavior

Changes to these projects/apps should still be detected for incremental builds.

Steps to reproduce
  • Create AL-Go repository (from template "AL-Go-PTE")
  • Create app "bär" in project "föö"
  • Create branch
  • Change file in app
  • Wait for one successfull CI/CD workflow run of main branch (e.g. "initial commit")
  • Create pull request
    -> Workflow "PullRequestHandler.yaml" starts but only runs job "Initialization" and "Pull Request Status Check"
Additional context (logs, screenshots, etc.)
Run microsoft/AL-Go-Actions/DetermineProjectsToBuild@v9.2
Determine Projects to Build
  Run D:\a\_actions\microsoft\AL-Go-Actions\v9.2\DetermineProjectsToBuild/../Invoke-AlGoAction.ps1 -ActionName "DetermineProjectsToBuild" -Action {
    Downloading BcContainerHelper latest version from Blob Storage
    Import from C:\ProgramData\BcContainerHelper\6.1.18\BcContainerHelper\BcContainerHelper.ps1
    BcContainerHelper version 6.1.18
    Ignoring unchanged config setting useCompilerFolder
    Ignoring unchanged config setting SendExtendedTelemetryToMicrosoft
    Ignoring unchanged config setting PartnerTelemetryConnectionString
    Setting MicrosoftTelemetryConnectionString = InstrumentationKey=cd2cc63e-0f37-4968-b99a-532411a314b8;IngestionEndpoint=https://northeurope-2.in.applicationinsights.azure.com/
    BC.HelperFunctions emits usage statistics telemetry to Microsoft
    Running on Windows, PowerShell 5.1.26100.33296
    pull_request on main
  Determine Baseline Workflow ID
      Finding latest successful CICD run for branch main in repository <owner>/<repo>, checking last 30 days
      - https://api.github.com/repos/<owner>/<repo>/actions/runs?per_page=100&page=1&exclude_pull_requests=true&status=completed&branch=main&created=>2026-08-19T14:28:56.3400908Z
      Last successful CICD run for branch main in repository <owner>/<repo> is 35353925975 with SHA 1e9d4c4a33c156bb06d9fbf9be0732291656226a
  Get Modified Files
      Using head SHA ebc3679a899977d8b9433297e44d940adbcd3d4a from pull request
      From https://github.com/<owner>/<repo>
       * branch            ebc3679a899977d8b9433297e44d940adbcd3d4a -> FETCH_HEAD
      This is a pull request, but baseline SHA was specified to 1e9d4c4a33c156bb06d9fbf9be0732291656226a
      From https://github.com/<owner>/<repo>
       * branch            1e9d4c4a33c156bb06d9fbf9be0732291656226a -> FETCH_HEAD
      git diff --name-only 1e9d4c4a33c156bb06d9fbf9be0732291656226a ebc3679a899977d8b9433297e44d940adbcd3d4a
      Modified files:
      - "f\303\266\303\266\.AL-Go\cloudDevEnv.ps1"
      - "f\303\266\303\266\.AL-Go\localDevEnv.ps1"
      - "f\303\266\303\266\.AL-Go\settings.json"
      - "f\303\266\303\266\b\303\244r\.vscode\launch.json"
      - "f\303\266\303\266\b\303\244r\HelloWorld.al"
      - "f\303\266\303\266\b\303\244r\app.json"
      - "f\303\266\303\266\f\303\266\303\266.code-workspace"
  Determine Incremental Build
      No changes to full build patterns detected
  Get Projects To Build
      Determining projects to build in D:\a\<repo>\<repo>
      Found AL-Go Projects: föö
      Analyzing projects in D:\a\<repo>\<repo>
      Analyzing project: föö, ::Debug::[AL-Go]No settings found in .github\AL-Go-TemplateRepoSettings.doNotEdit.json (File)
      folders containing apps:
      - .\föö\bär
      Analyzing dependencies
      - föö
      Set ProjectDependencies for föö to 
      No additional dependencies found, add project to build order
      Adding projects without dependents to last build job
      #1 - build projects: föö
      Calculating modified projects based on the modified files
      Determining whether to build project föö based on modified files
      Analyzing project föö
      Checking type
      Checking appFolders, testFolders and bcptTestFolders
      Application Dependency 22.0.0.0
      Updating app- and test Dependencies
      Analyzing Test App Dependencies
      No performance test apps found in bcptTestFolders in .AL-Go\settings.json
      No modified files found for project föö. Not building project föö
      Calculating incremental build matrix
      Did not find any projects to add to the build order, adding default values
      Projects to build: 
    Enabling Microsoft telemetry...
    Notice: Last known good build: https://github.com/<owner>/<repo>/actions/runs/35353925975
    SkippedProjectsJson=["föö"]
    ProjectsJson=[]
    ProjectDependenciesJson={"föö":[]}
    BuildOrderJson=[{"projects":[],"projectsCount":0,"buildDimensions":[]}]
    BuildAllProjects=False
    BaselineWorkflowRunId=35353925975
    BaselineWorkflowSHA=1e9d4c4a33c156bb06d9fbf9be0732291656226a
    Enabling Microsoft telemetry...

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the DetermineProjectsToBuild action invoked by PullRequestHandler.yaml, focusing on the Get Modified Files and Determine Incremental Build steps shown in the log. Reproduce the issue with the AL-Go-PTE template using the folders föö and bär, then verify that changes in those paths are detected and the project is included in the incremental build.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, github-actions, powershell
Domain
build-system, ci-cd, devops
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
70/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.