Skip to content

Update Fleet-maintained apps - #47002

Closed
fleet-release wants to merge 1 commit into
mainfrom
fma-2606061231
Closed

Update Fleet-maintained apps#47002
fleet-release wants to merge 1 commit into
mainfrom
fma-2606061231

Conversation

@fleet-release

@fleet-release fleet-release commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

Automated ingestion of latest Fleet-maintained app data.

Summary by CodeRabbit

  • Chores
    • Updated application version metadata for Adobe Acrobat Reader (26.001.21651), AWS CLI (2.34.63), Box Drive (2.52.306), Citrix Workspace (26.03.10), CrashPlan (12.0.0), Cursor (3.7.12), TextExpander (254.8.4.402), and Zed (1.5.4).

Generated automatically with cmd/maintained-apps.

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.

Tip: disable this comment in your organization's Code Review settings.

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

Script Diff Results

ee/maintained-apps/outputs/adobe-acrobat-reader/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/aws-cli/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/box-drive/darwin.json

=== Install // 5b80f593 -> 1c60c85f ===

--- /tmp/old.jyppWY	2026-06-06 12:36:16.805961301 +0000
+++ /tmp/new.qFhYOL	2026-06-06 12:36:16.805961301 +0000
@@ -96,5 +96,5 @@
 
 # install pkg files
 quit_and_track_application 'com.box.desktop'
-sudo installer -pkg "$TMPDIR/BoxDrive-2.51.233.pkg" -target /
+sudo installer -pkg "$TMPDIR/BoxDrive-2.52.306.pkg" -target /
 relaunch_application 'com.box.desktop'

=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/citrix-workspace/darwin.json

=== Install // fe7ba180 -> d0785661 ===

--- /tmp/old.XFjR2Q	2026-06-06 12:36:16.854962378 +0000
+++ /tmp/new.qQ37vn	2026-06-06 12:36:16.854962378 +0000
@@ -96,5 +96,5 @@
 
 # install pkg files
 quit_and_track_application 'com.citrix.receiver.nomas'
-sudo installer -pkg "$TMPDIR/CitrixWorkspaceAppUniversal26.03.0.49.pkg" -target /
+sudo installer -pkg "$TMPDIR/CitrixWorkspaceAppUniversal26.03.10.40.pkg" -target /
 relaunch_application 'com.citrix.receiver.nomas'

=== Uninstall // ed152120 -> a1c686b5 ===

--- /tmp/old.szAGSa	2026-06-06 12:36:16.868962686 +0000
+++ /tmp/new.i625Hq	2026-06-06 12:36:16.868962686 +0000
@@ -210,6 +210,7 @@
 remove_launchctl_service 'com.citrix.devicetrust.launchagent'
 remove_launchctl_service 'com.citrix.ReceiverHelper'
 remove_launchctl_service 'com.citrix.ReceiverUninstallHelper'
+remove_launchctl_service 'com.citrix.ReceiverUpdaterHelper'
 remove_launchctl_service 'com.citrix.safariadapter'
 remove_launchctl_service 'com.citrix.ServiceRecords'
 remove_launchctl_service 'com.citrix.UninstallMonitor'
@@ -231,6 +232,8 @@
 forget_pkg 'com.citrix.ICAClientcwa'
 remove_pkg_files 'com.citrix.ICAClienthdx'
 forget_pkg 'com.citrix.ICAClienthdx'
+remove_pkg_files 'com.citrix.receiver.bcr'
+forget_pkg 'com.citrix.receiver.bcr'
 trash $LOGGED_IN_USER '~/Library/Application Support/Citrix Receiver'
 trash $LOGGED_IN_USER '~/Library/Application Support/Citrix Workspace'
 trash $LOGGED_IN_USER '~/Library/Application Support/Citrix'

ee/maintained-apps/outputs/crashplan/darwin.json

=== Install Script (no changes) ===
=== Uninstall // 2920a618 -> 095dbea6 ===

--- /tmp/old.lzj4UQ	2026-06-06 12:36:16.909963588 +0000
+++ /tmp/new.pe9PYc	2026-06-06 12:36:16.909963588 +0000
@@ -208,6 +208,8 @@
 (cd /Users/$LOGGED_IN_USER && sudo 'Uninstall.app/Contents/Resources/uninstall.sh')
 remove_pkg_files 'com.crashplan.app.pkg'
 forget_pkg 'com.crashplan.app.pkg'
+remove_pkg_files 'com.crashplan.uninstaller.pkg'
+forget_pkg 'com.crashplan.uninstaller.pkg'
 trash $LOGGED_IN_USER '/Library/Application Support/CrashPlan'
 trash $LOGGED_IN_USER '/Library/Caches/CrashPlan'
 trash $LOGGED_IN_USER '/Library/LaunchDaemons/com.crashplan.service.plist'

ee/maintained-apps/outputs/cursor/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/textexpander/windows.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

ee/maintained-apps/outputs/zed/darwin.json

=== Install Script (no changes) ===
=== Uninstall Script (no changes) ===

@coderabbitai

coderabbitai Bot commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Walkthrough

This PR updates release metadata for eight Fleet-maintained applications across Windows and macOS platforms. Each application's manifest file is updated with a new version number, corresponding SQL version-comparison thresholds, installer download URLs, and SHA256 checksums. Four applications—Adobe Acrobat Reader, AWS CLI, Cursor, and TextExpander—involve simple metadata changes on Windows. Zed on macOS receives a similar straightforward update. Box Drive, Citrix Workspace, and CrashPlan include additional changes to install and/or uninstall script references along with updated embedded bash script content.

Possibly related PRs

  • fleetdm/fleet#46425: Directly updates ee/maintained-apps/outputs/textexpander/windows.json with a new TextExpander version, SQL detection thresholds, installer URL, and SHA256.
  • fleetdm/fleet#46709: Updates ee/maintained-apps/outputs/aws-cli/windows.json by bumping the Windows version and corresponding SQL comparison threshold plus installer URL and SHA256.
  • fleetdm/fleet#46492: Updates ee/maintained-apps/outputs/cursor/windows.json by changing the Cursor version, SQL threshold, installer URL, and SHA256 values.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Description check ❓ Inconclusive The PR description 'Automated ingestion of latest Fleet-maintained app data' is vague and generic, lacking specific details about which apps were updated or what versions were changed. Expand the description to specify which applications were updated, their version numbers, and any notable changes (e.g., script reference updates).
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Update Fleet-maintained apps' clearly and concisely summarizes the main change—updating version metadata for multiple Fleet-maintained applications across platforms.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fma-2606061231

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@ee/maintained-apps/outputs/crashplan/darwin.json`:
- Line 19: The command "(cd /Users/$LOGGED_IN_USER && sudo
'Uninstall.app/Contents/Resources/uninstall.sh')" uses a relative path under the
user's home and will fail; change it to resolve and invoke the vendor uninstall
via an absolute path (or derive it first) before calling sudo. Locate that
invocation and replace it with logic that finds the installed application's
install-location (e.g., using pkgutil --pkg-info / pkgutil --pkg-info-plist for
package IDs like com.crashplan.app.pkg or by checking known install
directories), store the resolved Uninstall.app/Contents/Resources/uninstall.sh
path in a variable (e.g., UNINSTALLER_PATH) and then run sudo
"$UNINSTALLER_PATH" (or simply call the absolute path) so the vendor uninstaller
is invoked from the actual installed location rather than the user's home;
adjust related sequences (the cd invocation) accordingly.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 680e64ad-d165-4f40-a3e4-8ebc641c0b85

📥 Commits

Reviewing files that changed from the base of the PR and between 31a3657 and 453cba4.

📒 Files selected for processing (8)
  • ee/maintained-apps/outputs/adobe-acrobat-reader/windows.json
  • ee/maintained-apps/outputs/aws-cli/windows.json
  • ee/maintained-apps/outputs/box-drive/darwin.json
  • ee/maintained-apps/outputs/citrix-workspace/darwin.json
  • ee/maintained-apps/outputs/crashplan/darwin.json
  • ee/maintained-apps/outputs/cursor/windows.json
  • ee/maintained-apps/outputs/textexpander/windows.json
  • ee/maintained-apps/outputs/zed/darwin.json

],
"refs": {
"2920a618": "#!/bin/bash\n\n# variables\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\n\nexpand_pkgid_and_map() {\n local PKGID=\"$1\"\n local FUNC=\"$2\"\n if [[ \"$PKGID\" == *\"*\" ]]; then\n local prefix=\"${PKGID%\\*}\"\n echo \"Expanding wildcard for PKGID: $PKGID\"\n for receipt in $(pkgutil --pkgs | grep \"^${prefix}\"); do\n echo \"Processing $receipt\"\n \"$FUNC\" \"$receipt\"\n done\n else\n \"$FUNC\" \"$PKGID\"\n fi\n}\n\nforget_pkg() {\n local PKGID=\"$1\"\n expand_pkgid_and_map \"$PKGID\" forget_receipt\n}\n\nforget_receipt() {\n local PKGID=\"$1\"\n sudo pkgutil --forget \"$PKGID\"\n}\n\nquit_application() {\n local bundle_id=\"$1\"\n local timeout_duration=10\n\n # check if the application is running\n local app_running\n app_running=$(osascript -e \"application id \\\"$bundle_id\\\" is running\" 2>/dev/null)\n if [[ \"$app_running\" != \"true\" ]]; then\n return\n fi\n\n local console_user\n console_user=$(stat -f \"%Su\" /dev/console)\n if [[ -z \"$console_user\" || \"$console_user\" == \"root\" || \"$console_user\" == \"loginwindow\" ]]; then\n echo \"Not logged into a non-root GUI; skipping quitting application ID '$bundle_id'.\"\n return\n fi\n\n echo \"Quitting application '$bundle_id'...\"\n\n # try to quit the application within the timeout period\n local quit_success=false\n SECONDS=0\n while (( SECONDS < timeout_duration )); do\n if osascript -e \"tell application id \\\"$bundle_id\\\" to quit\" >/dev/null 2>&1; then\n if ! pgrep -f \"$bundle_id\" >/dev/null 2>&1; then\n echo \"Application '$bundle_id' quit successfully.\"\n quit_success=true\n break\n fi\n fi\n sleep 1\n done\n\n if [[ \"$quit_success\" = false ]]; then\n echo \"Application '$bundle_id' did not quit.\"\n fi\n}\n\n\nremove_launchctl_service() {\n local service=\"$1\"\n local booleans=(\"true\" \"false\")\n local plist_status\n local paths\n local should_sudo\n\n echo \"Removing launchctl service ${service}\"\n\n for should_sudo in \"${booleans[@]}\"; do\n plist_status=$(launchctl list \"${service}\" 2>/dev/null)\n\n if [[ $plist_status == \\{* ]]; then\n if [[ $should_sudo == \"true\" ]]; then\n sudo launchctl remove \"${service}\"\n else\n launchctl remove \"${service}\"\n fi\n sleep 1\n fi\n\n paths=(\n \"/Library/LaunchAgents/${service}.plist\"\n \"/Library/LaunchDaemons/${service}.plist\"\n )\n\n # if not using sudo, prepend the home directory to the paths\n if [[ $should_sudo == \"false\" ]]; then\n for i in \"${!paths[@]}\"; do\n paths[i]=\"${HOME}${paths[i]}\"\n done\n fi\n\n for path in \"${paths[@]}\"; do\n if [[ -e \"$path\" ]]; then\n if [[ $should_sudo == \"true\" ]]; then\n sudo rm -f -- \"$path\"\n else\n rm -f -- \"$path\"\n fi\n fi\n done\n done\n}\n\nremove_pkg_files() {\n local PKGID=\"$1\"\n expand_pkgid_and_map \"$PKGID\" remove_receipt_files\n}\n\nremove_receipt_files() {\n local PKGID=\"$1\"\n local PKGINFO VOLUME INSTALL_LOCATION FULL_INSTALL_LOCATION\n\n echo \"pkgutil --pkg-info-plist \\\"$PKGID\\\"\"\n PKGINFO=$(pkgutil --pkg-info-plist \"$PKGID\")\n VOLUME=$(echo \"$PKGINFO\" | awk '/<key>volume<\\/key>/ {getline; gsub(/.*<string>|<\\/string>.*/, \"\"); print}')\n INSTALL_LOCATION=$(echo \"$PKGINFO\" | awk '/<key>install-location<\\/key>/ {getline; gsub(/.*<string>|<\\/string>.*/, \"\"); print}')\n\n if [ -z \"$INSTALL_LOCATION\" ] || [ \"$INSTALL_LOCATION\" = \"/\" ]; then\n FULL_INSTALL_LOCATION=\"$VOLUME\"\n else\n FULL_INSTALL_LOCATION=\"$VOLUME/$INSTALL_LOCATION\"\n FULL_INSTALL_LOCATION=$(echo \"$FULL_INSTALL_LOCATION\" | sed 's|//|/|g')\n fi\n\n echo \"sudo pkgutil --only-files --files \\\"$PKGID\\\" | sed \\\"s|^|${FULL_INSTALL_LOCATION}/|\\\" | tr '\\\\\\\\n' '\\\\\\\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\"\n sudo pkgutil --only-files --files \"$PKGID\" | sed \"s|^|/${INSTALL_LOCATION}/|\" | tr '\\n' '\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\n\n echo \"sudo pkgutil --only-dirs --files \\\"$PKGID\\\" | sed \\\"s|^|${FULL_INSTALL_LOCATION}/|\\\" | grep '\\\\.app$' | tr '\\\\\\\\n' '\\\\\\\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\"\n sudo pkgutil --only-dirs --files \"$PKGID\" | sed \"s|^|${FULL_INSTALL_LOCATION}/|\" | grep '\\.app$' | tr '\\n' '\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\n\n root_app_dir=$(\n sudo pkgutil --only-dirs --files \"$PKGID\" \\\n | sed \"s|^|${FULL_INSTALL_LOCATION}/|\" \\\n | grep 'Applications' \\\n | awk '{ print length, $0 }' \\\n | sort -n \\\n | head -n1 \\\n | cut -d' ' -f2-\n )\n if [ -n \"$root_app_dir\" ]; then\n echo \"sudo rmdir -p \\\"$root_app_dir\\\" 2>/dev/null || :\"\n sudo rmdir -p \"$root_app_dir\" 2>/dev/null || :\n fi\n}\n\ntrash() {\n local logged_in_user=\"$1\"\n local target_file=\"$2\"\n local timestamp=\"$(date +%Y-%m-%d-%s)\"\n local rand=\"$(jot -r 1 0 99999)\"\n\n # replace ~ with /Users/$logged_in_user\n if [[ \"$target_file\" == ~* ]]; then\n target_file=\"/Users/$logged_in_user${target_file:1}\"\n fi\n\n local trash=\"/Users/$logged_in_user/.Trash\"\n\n # If the target contains glob characters, expand it and move each match.\n if [[ \"$target_file\" == *[*?[]* ]]; then\n local file file_name\n local matched=false\n local i=0\n # compgen -G expands the (quoted) pattern itself, so paths containing\n # spaces glob correctly; reading line by line keeps each match intact.\n while IFS= read -r file; do\n [[ -n \"$file\" ]] || continue\n [[ -e \"$file\" || -L \"$file\" ]] || continue\n matched=true\n i=$((i + 1))\n file_name=\"$(basename \"$file\")\"\n echo \"removing $file.\"\n # The per-match counter keeps matches that share a basename from\n # overwriting each other in the trash.\n mv -f \"$file\" \"$trash/${file_name}_${timestamp}_${rand}_${i}\"\n done < <(compgen -G \"$target_file\" 2>/dev/null)\n if [[ \"$matched\" == false ]]; then\n echo \"$target_file doesn't exist.\"\n fi\n return\n fi\n\n local file_name=\"$(basename \"${target_file}\")\"\n\n if [[ -e \"$target_file\" ]]; then\n echo \"removing $target_file.\"\n mv -f \"$target_file\" \"$trash/${file_name}_${timestamp}_${rand}\"\n else\n echo \"$target_file doesn't exist.\"\n fi\n}\n\nremove_launchctl_service 'com.crashplan.engine'\nquit_application 'com.crashplan.app'\n(cd /Users/$LOGGED_IN_USER && sudo 'Uninstall.app/Contents/Resources/uninstall.sh')\nremove_pkg_files 'com.crashplan.app.pkg'\nforget_pkg 'com.crashplan.app.pkg'\ntrash $LOGGED_IN_USER '/Library/Application Support/CrashPlan'\ntrash $LOGGED_IN_USER '/Library/Caches/CrashPlan'\ntrash $LOGGED_IN_USER '/Library/LaunchDaemons/com.crashplan.service.plist'\ntrash $LOGGED_IN_USER '/Library/Logs/CrashPlan'\ntrash $LOGGED_IN_USER '~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/com.crashplan.desktop.sfl*'\ntrash $LOGGED_IN_USER '~/Library/Application Support/CrashPlan'\ntrash $LOGGED_IN_USER '~/Library/LaunchAgents/com.crashplan.menubar.plist'\ntrash $LOGGED_IN_USER '~/Library/Logs/CrashPlan'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.crashplan.desktop.plist'\n",
"095dbea6": "#!/bin/bash\n\n# variables\nLOGGED_IN_USER=$(scutil <<< \"show State:/Users/ConsoleUser\" | awk '/Name :/ { print $3 }')\n# functions\n\nexpand_pkgid_and_map() {\n local PKGID=\"$1\"\n local FUNC=\"$2\"\n if [[ \"$PKGID\" == *\"*\" ]]; then\n local prefix=\"${PKGID%\\*}\"\n echo \"Expanding wildcard for PKGID: $PKGID\"\n for receipt in $(pkgutil --pkgs | grep \"^${prefix}\"); do\n echo \"Processing $receipt\"\n \"$FUNC\" \"$receipt\"\n done\n else\n \"$FUNC\" \"$PKGID\"\n fi\n}\n\nforget_pkg() {\n local PKGID=\"$1\"\n expand_pkgid_and_map \"$PKGID\" forget_receipt\n}\n\nforget_receipt() {\n local PKGID=\"$1\"\n sudo pkgutil --forget \"$PKGID\"\n}\n\nquit_application() {\n local bundle_id=\"$1\"\n local timeout_duration=10\n\n # check if the application is running\n local app_running\n app_running=$(osascript -e \"application id \\\"$bundle_id\\\" is running\" 2>/dev/null)\n if [[ \"$app_running\" != \"true\" ]]; then\n return\n fi\n\n local console_user\n console_user=$(stat -f \"%Su\" /dev/console)\n if [[ -z \"$console_user\" || \"$console_user\" == \"root\" || \"$console_user\" == \"loginwindow\" ]]; then\n echo \"Not logged into a non-root GUI; skipping quitting application ID '$bundle_id'.\"\n return\n fi\n\n echo \"Quitting application '$bundle_id'...\"\n\n # try to quit the application within the timeout period\n local quit_success=false\n SECONDS=0\n while (( SECONDS < timeout_duration )); do\n if osascript -e \"tell application id \\\"$bundle_id\\\" to quit\" >/dev/null 2>&1; then\n if ! pgrep -f \"$bundle_id\" >/dev/null 2>&1; then\n echo \"Application '$bundle_id' quit successfully.\"\n quit_success=true\n break\n fi\n fi\n sleep 1\n done\n\n if [[ \"$quit_success\" = false ]]; then\n echo \"Application '$bundle_id' did not quit.\"\n fi\n}\n\n\nremove_launchctl_service() {\n local service=\"$1\"\n local booleans=(\"true\" \"false\")\n local plist_status\n local paths\n local should_sudo\n\n echo \"Removing launchctl service ${service}\"\n\n for should_sudo in \"${booleans[@]}\"; do\n plist_status=$(launchctl list \"${service}\" 2>/dev/null)\n\n if [[ $plist_status == \\{* ]]; then\n if [[ $should_sudo == \"true\" ]]; then\n sudo launchctl remove \"${service}\"\n else\n launchctl remove \"${service}\"\n fi\n sleep 1\n fi\n\n paths=(\n \"/Library/LaunchAgents/${service}.plist\"\n \"/Library/LaunchDaemons/${service}.plist\"\n )\n\n # if not using sudo, prepend the home directory to the paths\n if [[ $should_sudo == \"false\" ]]; then\n for i in \"${!paths[@]}\"; do\n paths[i]=\"${HOME}${paths[i]}\"\n done\n fi\n\n for path in \"${paths[@]}\"; do\n if [[ -e \"$path\" ]]; then\n if [[ $should_sudo == \"true\" ]]; then\n sudo rm -f -- \"$path\"\n else\n rm -f -- \"$path\"\n fi\n fi\n done\n done\n}\n\nremove_pkg_files() {\n local PKGID=\"$1\"\n expand_pkgid_and_map \"$PKGID\" remove_receipt_files\n}\n\nremove_receipt_files() {\n local PKGID=\"$1\"\n local PKGINFO VOLUME INSTALL_LOCATION FULL_INSTALL_LOCATION\n\n echo \"pkgutil --pkg-info-plist \\\"$PKGID\\\"\"\n PKGINFO=$(pkgutil --pkg-info-plist \"$PKGID\")\n VOLUME=$(echo \"$PKGINFO\" | awk '/<key>volume<\\/key>/ {getline; gsub(/.*<string>|<\\/string>.*/, \"\"); print}')\n INSTALL_LOCATION=$(echo \"$PKGINFO\" | awk '/<key>install-location<\\/key>/ {getline; gsub(/.*<string>|<\\/string>.*/, \"\"); print}')\n\n if [ -z \"$INSTALL_LOCATION\" ] || [ \"$INSTALL_LOCATION\" = \"/\" ]; then\n FULL_INSTALL_LOCATION=\"$VOLUME\"\n else\n FULL_INSTALL_LOCATION=\"$VOLUME/$INSTALL_LOCATION\"\n FULL_INSTALL_LOCATION=$(echo \"$FULL_INSTALL_LOCATION\" | sed 's|//|/|g')\n fi\n\n echo \"sudo pkgutil --only-files --files \\\"$PKGID\\\" | sed \\\"s|^|${FULL_INSTALL_LOCATION}/|\\\" | tr '\\\\\\\\n' '\\\\\\\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\"\n sudo pkgutil --only-files --files \"$PKGID\" | sed \"s|^|/${INSTALL_LOCATION}/|\" | tr '\\n' '\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\n\n echo \"sudo pkgutil --only-dirs --files \\\"$PKGID\\\" | sed \\\"s|^|${FULL_INSTALL_LOCATION}/|\\\" | grep '\\\\.app$' | tr '\\\\\\\\n' '\\\\\\\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\"\n sudo pkgutil --only-dirs --files \"$PKGID\" | sed \"s|^|${FULL_INSTALL_LOCATION}/|\" | grep '\\.app$' | tr '\\n' '\\0' | /usr/bin/sudo -u root -E -- /usr/bin/xargs -0 -- /bin/rm -rf\n\n root_app_dir=$(\n sudo pkgutil --only-dirs --files \"$PKGID\" \\\n | sed \"s|^|${FULL_INSTALL_LOCATION}/|\" \\\n | grep 'Applications' \\\n | awk '{ print length, $0 }' \\\n | sort -n \\\n | head -n1 \\\n | cut -d' ' -f2-\n )\n if [ -n \"$root_app_dir\" ]; then\n echo \"sudo rmdir -p \\\"$root_app_dir\\\" 2>/dev/null || :\"\n sudo rmdir -p \"$root_app_dir\" 2>/dev/null || :\n fi\n}\n\ntrash() {\n local logged_in_user=\"$1\"\n local target_file=\"$2\"\n local timestamp=\"$(date +%Y-%m-%d-%s)\"\n local rand=\"$(jot -r 1 0 99999)\"\n\n # replace ~ with /Users/$logged_in_user\n if [[ \"$target_file\" == ~* ]]; then\n target_file=\"/Users/$logged_in_user${target_file:1}\"\n fi\n\n local trash=\"/Users/$logged_in_user/.Trash\"\n\n # If the target contains glob characters, expand it and move each match.\n if [[ \"$target_file\" == *[*?[]* ]]; then\n local file file_name\n local matched=false\n local i=0\n # compgen -G expands the (quoted) pattern itself, so paths containing\n # spaces glob correctly; reading line by line keeps each match intact.\n while IFS= read -r file; do\n [[ -n \"$file\" ]] || continue\n [[ -e \"$file\" || -L \"$file\" ]] || continue\n matched=true\n i=$((i + 1))\n file_name=\"$(basename \"$file\")\"\n echo \"removing $file.\"\n # The per-match counter keeps matches that share a basename from\n # overwriting each other in the trash.\n mv -f \"$file\" \"$trash/${file_name}_${timestamp}_${rand}_${i}\"\n done < <(compgen -G \"$target_file\" 2>/dev/null)\n if [[ \"$matched\" == false ]]; then\n echo \"$target_file doesn't exist.\"\n fi\n return\n fi\n\n local file_name=\"$(basename \"${target_file}\")\"\n\n if [[ -e \"$target_file\" ]]; then\n echo \"removing $target_file.\"\n mv -f \"$target_file\" \"$trash/${file_name}_${timestamp}_${rand}\"\n else\n echo \"$target_file doesn't exist.\"\n fi\n}\n\nremove_launchctl_service 'com.crashplan.engine'\nquit_application 'com.crashplan.app'\n(cd /Users/$LOGGED_IN_USER && sudo 'Uninstall.app/Contents/Resources/uninstall.sh')\nremove_pkg_files 'com.crashplan.app.pkg'\nforget_pkg 'com.crashplan.app.pkg'\nremove_pkg_files 'com.crashplan.uninstaller.pkg'\nforget_pkg 'com.crashplan.uninstaller.pkg'\ntrash $LOGGED_IN_USER '/Library/Application Support/CrashPlan'\ntrash $LOGGED_IN_USER '/Library/Caches/CrashPlan'\ntrash $LOGGED_IN_USER '/Library/LaunchDaemons/com.crashplan.service.plist'\ntrash $LOGGED_IN_USER '/Library/Logs/CrashPlan'\ntrash $LOGGED_IN_USER '~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/com.crashplan.desktop.sfl*'\ntrash $LOGGED_IN_USER '~/Library/Application Support/CrashPlan'\ntrash $LOGGED_IN_USER '~/Library/LaunchAgents/com.crashplan.menubar.plist'\ntrash $LOGGED_IN_USER '~/Library/Logs/CrashPlan'\ntrash $LOGGED_IN_USER '~/Library/Preferences/com.crashplan.desktop.plist'\n",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Use an absolute path for the CrashPlan uninstaller.

Line 19 now runs sudo 'Uninstall.app/Contents/Resources/uninstall.sh' after cd /Users/$LOGGED_IN_USER, so the shell resolves the uninstaller under the user’s home directory. That path is relative, not the installed app location, so this step will fail on a normal install and skip the vendor uninstall workflow. Point this at the installed uninstaller via an absolute path, or derive that path before invoking sudo.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@ee/maintained-apps/outputs/crashplan/darwin.json` at line 19, The command
"(cd /Users/$LOGGED_IN_USER && sudo
'Uninstall.app/Contents/Resources/uninstall.sh')" uses a relative path under the
user's home and will fail; change it to resolve and invoke the vendor uninstall
via an absolute path (or derive it first) before calling sudo. Locate that
invocation and replace it with logic that finds the installed application's
install-location (e.g., using pkgutil --pkg-info / pkgutil --pkg-info-plist for
package IDs like com.crashplan.app.pkg or by checking known install
directories), store the resolved Uninstall.app/Contents/Resources/uninstall.sh
path in a variable (e.g., UNINSTALLER_PATH) and then run sudo
"$UNINSTALLER_PATH" (or simply call the absolute path) so the vendor uninstaller
is invoked from the actual installed location rather than the user's home;
adjust related sequences (the cd invocation) accordingly.

@qodo-free-for-open-source-projects

Copy link
Copy Markdown

CI Feedback 🧐

A test triggered by this PR failed. Here is an AI-generated analysis of the failure:

Action: test-fma-pr-only

Failed stage: Filter apps.json and verify changed apps [❌]

Failed test name: ""

Failure summary:

The action failed during the Windows “maintained apps” validation step because the TextExpander
(textexpander/windows) app uninstall script returned a non-zero exit code:
- Error: Error
uninstalling app: exit status 3010 with output Uninstall for {F396EB31-047A-48C0-9F90-4A049EBB8AD5}
exited 3010 (lines ~4878-4883).
- As a result, the validator reported Apps with errors:
[TextExpander] and terminated with exit status 1, causing the GitHub Actions step to fail (Process
completed with exit code 1).

Relevant error logs:
1:  ##[group]Runner Image Provisioner
2:  Hosted Compute Agent
...

147:  * [new branch]            11938-loadtesting-branch    -> origin/11938-loadtesting-branch
148:  * [new branch]            12007-ui-idp-metadata       -> origin/12007-ui-idp-metadata
149:  * [new branch]            12351-try-fix-for-fleet-desktop -> origin/12351-try-fix-for-fleet-desktop
150:  * [new branch]            12356-puppet-callback       -> origin/12356-puppet-callback
151:  * [new branch]            12375-query-bulk-action     -> origin/12375-query-bulk-action
152:  * [new branch]            12474-documentation         -> origin/12474-documentation
153:  * [new branch]            12614-federated-auth-support -> origin/12614-federated-auth-support
154:  * [new branch]            12687-host-issues-query     -> origin/12687-host-issues-query
155:  * [new branch]            12696-loadtest-cis-changes  -> origin/12696-loadtest-cis-changes
156:  * [new branch]            12842-fleetd-bitlocker-management -> origin/12842-fleetd-bitlocker-management
157:  * [new branch]            12842-fleetd-bitlocker-table -> origin/12842-fleetd-bitlocker-table
158:  * [new branch]            12889-faster-software       -> origin/12889-faster-software
159:  * [new branch]            13287-loadtest-changes      -> origin/13287-loadtest-changes
160:  * [new branch]            13288-poc-fleet-fips        -> origin/13288-poc-fleet-fips
161:  * [new branch]            13485-query-reports-migration -> origin/13485-query-reports-migration
162:  * [new branch]            13574-cache-failed-policy-counts -> origin/13574-cache-failed-policy-counts
163:  * [new branch]            13657-docs                  -> origin/13657-docs
...

175:  * [new branch]            146orch                     -> origin/146orch
176:  * [new branch]            14753-windows-ps1-api       -> origin/14753-windows-ps1-api
177:  * [new branch]            14957-test-dep-screen       -> origin/14957-test-dep-screen
178:  * [new branch]            14957-test-dep-screen-patch -> origin/14957-test-dep-screen-patch
179:  * [new branch]            15068-disk-encryption-ii    -> origin/15068-disk-encryption-ii
180:  * [new branch]            15082-download-api-docs     -> origin/15082-download-api-docs
181:  * [new branch]            15082-make-endpoints-consistent -> origin/15082-make-endpoints-consistent
182:  * [new branch]            15082-update-download-endpoints -> origin/15082-update-download-endpoints
183:  * [new branch]            15380-hosts-api-doc         -> origin/15380-hosts-api-doc
184:  * [new branch]            15461-ui-dep-assign-profile-responses -> origin/15461-ui-dep-assign-profile-responses
185:  * [new branch]            15463-msi-fix               -> origin/15463-msi-fix
186:  * [new branch]            15559-move-scep             -> origin/15559-move-scep
187:  * [new branch]            15633                       -> origin/15633
188:  * [new branch]            15770-mac-os-vuln           -> origin/15770-mac-os-vuln
189:  * [new branch]            15801-migration             -> origin/15801-migration
190:  * [new branch]            15912-password-reset-error-code -> origin/15912-password-reset-error-code
191:  * [new branch]            16182-log-root              -> origin/16182-log-root
...

625:  * [new branch]            7765-frontend               -> origin/7765-frontend
626:  * [new branch]            7766-backend-final-main-merge -> origin/7766-backend-final-main-merge
627:  * [new branch]            7766-backend-test           -> origin/7766-backend-test
628:  * [new branch]            7766-frontend               -> origin/7766-frontend
629:  * [new branch]            7993-figure-out-the-limits-of-our-current-search-approach -> origin/7993-figure-out-the-limits-of-our-current-search-approach
630:  * [new branch]            8021-orbit-use-specified-identifier -> origin/8021-orbit-use-specified-identifier
631:  * [new branch]            8186-vulnerable-software-false-positive-docker -> origin/8186-vulnerable-software-false-positive-docker
632:  * [new branch]            8593-gitops                 -> origin/8593-gitops
633:  * [new branch]            8708-docs                   -> origin/8708-docs
634:  * [new branch]            8708-encryption-key-api     -> origin/8708-encryption-key-api
635:  * [new branch]            8708-ingest-file-vault      -> origin/8708-ingest-file-vault
636:  * [new branch]            8708-ingest-macos-encription-key -> origin/8708-ingest-macos-encription-key
637:  * [new branch]            8708-ingest-macos-encription-key-ii -> origin/8708-ingest-macos-encription-key-ii
638:  * [new branch]            8974-native-smbios-uuid-support -> origin/8974-native-smbios-uuid-support
639:  * [new branch]            9260-cis-checks-5.10.x      -> origin/9260-cis-checks-5.10.x
640:  * [new branch]            9394-failed-to-create-device-auth-token-due-to-duplicate-key-errors -> origin/9394-failed-to-create-device-auth-token-due-to-duplicate-key-errors
641:  * [new branch]            9590-schema                 -> origin/9590-schema
...

875:  * [new branch]            allenhouchins-update-custom-tap -> origin/allenhouchins-update-custom-tap
876:  * [new branch]            allenhouchins-update-new-fma-skill -> origin/allenhouchins-update-new-fma-skill
877:  * [new branch]            allenhouchins-update-patch-policy-generation -> origin/allenhouchins-update-patch-policy-generation
878:  * [new branch]            allenhouchins-warp          -> origin/allenhouchins-warp
879:  * [new branch]            allenhouchins-windows-net-runtime-6 -> origin/allenhouchins-windows-net-runtime-6
880:  * [new branch]            allenhouchins-zoom-fma      -> origin/allenhouchins-zoom-fma
881:  * [new branch]            allenhouchins-zoom-logo-mac -> origin/allenhouchins-zoom-logo-mac
882:  * [new branch]            allenhouchins-zoom-policy-fix -> origin/allenhouchins-zoom-policy-fix
883:  * [new branch]            allenhouchins/fix-security-review-must-fixes -> origin/allenhouchins/fix-security-review-must-fixes
884:  * [new branch]            always-create-event-next-thu -> origin/always-create-event-next-thu
885:  * [new branch]            and_osq_proj                -> origin/and_osq_proj
886:  * [new branch]            andrey/loadtest-oval-vulns  -> origin/andrey/loadtest-oval-vulns
887:  * [new branch]            android-app-install-activity -> origin/android-app-install-activity
888:  * [new branch]            android-cofniguration-profiles-research -> origin/android-cofniguration-profiles-research
889:  * [new branch]            android-enroll-note         -> origin/android-enroll-note
890:  * [new branch]            android-enrollment-error    -> origin/android-enrollment-error
891:  * [new branch]            android-manual-enrollment-button -> origin/android-manual-enrollment-button
...

942:  * [new branch]            await-configuration-docs    -> origin/await-configuration-docs
943:  * [new branch]            aws-licensing-integration-proposal -> origin/aws-licensing-integration-proposal
944:  * [new branch]            backport-a41fb63            -> origin/backport-a41fb63
945:  * [new branch]            backport-c02af              -> origin/backport-c02af
946:  * [new branch]            backport-e65d6cf            -> origin/backport-e65d6cf
947:  * [new branch]            backport-ef07a406cc8dbccb4914bbd27631df74e5b13b49 -> origin/backport-ef07a406cc8dbccb4914bbd27631df74e5b13b49
948:  * [new branch]            backport-vpp-fix            -> origin/backport-vpp-fix
949:  * [new branch]            base-software-titles-loadtest -> origin/base-software-titles-loadtest
950:  * [new branch]            base-software-titles-loadtest-2 -> origin/base-software-titles-loadtest-2
951:  * [new branch]            beekeeper-fma-initial       -> origin/beekeeper-fma-initial
952:  * [new branch]            bettapizza                  -> origin/bettapizza
953:  * [new branch]            bettapizza--ghost-testimonial-update -> origin/bettapizza--ghost-testimonial-update
954:  * [new branch]            bettapizza-patch-1          -> origin/bettapizza-patch-1
955:  * [new branch]            bettapizza-patch-2          -> origin/bettapizza-patch-2
956:  * [new branch]            bettapizza-patch-3          -> origin/bettapizza-patch-3
957:  * [new branch]            better-byod-error           -> origin/better-byod-error
958:  * [new branch]            bounded-context-proposals   -> origin/bounded-context-proposals
...

991:  * [new branch]            cherry-pick-41914-to-rc-v4.83.0 -> origin/cherry-pick-41914-to-rc-v4.83.0
992:  * [new branch]            cherry-pick-42773-vitals-constants -> origin/cherry-pick-42773-vitals-constants
993:  * [new branch]            cherry-pick-8750-into-rc-minor-fleet-v4.60.0 -> origin/cherry-pick-8750-into-rc-minor-fleet-v4.60.0
994:  * [new branch]            cherry-pick-dogfood-change  -> origin/cherry-pick-dogfood-change
995:  * [new branch]            cherry-pick-dogfood-env-vars -> origin/cherry-pick-dogfood-env-vars
996:  * [new branch]            cherry-pick-fleetctl-changes-to-allow-testing -> origin/cherry-pick-fleetctl-changes-to-allow-testing
997:  * [new branch]            cherry-pick-mac-address-vital -> origin/cherry-pick-mac-address-vital
998:  * [new branch]            cherry-pick-patches         -> origin/cherry-pick-patches
999:  * [new branch]            cherry-pick-remove-overrides-in-dev-mode -> origin/cherry-pick-remove-overrides-in-dev-mode
1000:  * [new branch]            cherry-pick-util            -> origin/cherry-pick-util
1001:  * [new branch]            cherry-pick-webhooks        -> origin/cherry-pick-webhooks
1002:  * [new branch]            cherrypick-v4.85.0-version-bump-into-main -> origin/cherrypick-v4.85.0-version-bump-into-main
1003:  * [new branch]            chore-UI-update-for-CSP     -> origin/chore-UI-update-for-CSP
1004:  * [new branch]            chore-add-specific-yarn-version -> origin/chore-add-specific-yarn-version
1005:  * [new branch]            chore-backend-api-patterns  -> origin/chore-backend-api-patterns
1006:  * [new branch]            chore-change-error-message-custom-profile -> origin/chore-change-error-message-custom-profile
1007:  * [new branch]            chore-cp-chage-status-code-turn-off-mdm -> origin/chore-cp-chage-status-code-turn-off-mdm
...

1045:  * [new branch]            claude/slack-add-fma-foxit-pdf-9UpRv -> origin/claude/slack-add-fma-foxit-pdf-9UpRv
1046:  * [new branch]            claude/slack-session-Yw6M0  -> origin/claude/slack-session-Yw6M0
1047:  * [new branch]            claude/sub-pr-42006         -> origin/claude/sub-pr-42006
1048:  * [new branch]            claude/update-mock-fixtures-for-ipolicy -> origin/claude/update-mock-fixtures-for-ipolicy
1049:  * [new branch]            claude/update-mock-fixtures-policy-interface -> origin/claude/update-mock-fixtures-policy-interface
1050:  * [new branch]            cli-update-fleetd-naming    -> origin/cli-update-fleetd-naming
1051:  * [new branch]            clone-423                   -> origin/clone-423
1052:  * [new branch]            close-product-designer-position -> origin/close-product-designer-position
1053:  * [new branch]            codeowner-test              -> origin/codeowner-test
1054:  * [new branch]            codeql-icon-fe-fix          -> origin/codeql-icon-fe-fix
1055:  * [new branch]            coderabbit-skip-paths       -> origin/coderabbit-skip-paths
1056:  * [new branch]            collect-abm-apns-expiration-usage-statistics -> origin/collect-abm-apns-expiration-usage-statistics
1057:  * [new branch]            command-palette-claude      -> origin/command-palette-claude
1058:  * [new branch]            components-in-same-file-instead-of-closures -> origin/components-in-same-file-instead-of-closures
1059:  * [new branch]            conf-2644-branch-from-main  -> origin/conf-2644-branch-from-main
1060:  * [new branch]            consistent-error            -> origin/consistent-error
1061:  * [new branch]            consistent-rest-api-language-part-ii -> origin/consistent-rest-api-language-part-ii
...

1192:  * [new branch]            edwardsb-vuln-processing-fix-sandcastle -> origin/edwardsb-vuln-processing-fix-sandcastle
1193:  * [new branch]            edwardsb-vuln-processing-volume-fix -> origin/edwardsb-vuln-processing-volume-fix
1194:  * [new branch]            edwardsb/deployment-guide-updates -> origin/edwardsb/deployment-guide-updates
1195:  * [new branch]            edwardsb/restrict_console_access -> origin/edwardsb/restrict_console_access
1196:  * [new branch]            elastic_rum                 -> origin/elastic_rum
1197:  * [new branch]            enable-jit-by-default       -> origin/enable-jit-by-default
1198:  * [new branch]            enable-test-go-automation-macos -> origin/enable-test-go-automation-macos
1199:  * [new branch]            enforce-firefox-doh         -> origin/enforce-firefox-doh
1200:  * [new branch]            enforce-firefox-windows     -> origin/enforce-firefox-windows
1201:  * [new branch]            enforce-ios-26.5-update-deadline-july-2026 -> origin/enforce-ios-26.5-update-deadline-july-2026
1202:  * [new branch]            enforce-iso27001-workstations -> origin/enforce-iso27001-workstations
1203:  * [new branch]            enforce-macos-15.5-update-deadline -> origin/enforce-macos-15.5-update-deadline
1204:  * [new branch]            enforce-macos-version-workstations -> origin/enforce-macos-version-workstations
1205:  * [new branch]            enroll-android-feature-guide -> origin/enroll-android-feature-guide
1206:  * [new branch]            ericswenson0-patch-1        -> origin/ericswenson0-patch-1
1207:  * [new branch]            error-counts                -> origin/error-counts
1208:  * [new branch]            errors-perf-testing         -> origin/errors-perf-testing
1209:  * [new branch]            es-reports                  -> origin/es-reports
...

1224:  * [new branch]            eugkuo-patch-5              -> origin/eugkuo-patch-5
1225:  * [new branch]            eugkuo-patch-6-slugs-FMA    -> origin/eugkuo-patch-6-slugs-FMA
1226:  * [new branch]            example-fleetctl-profiles   -> origin/example-fleetctl-profiles
1227:  * [new branch]            exp-mdbook-docs             -> origin/exp-mdbook-docs
1228:  * [new branch]            experiment-disable-some-deletes -> origin/experiment-disable-some-deletes
1229:  * [new branch]            experiment-hardcode-counters-to-zero -> origin/experiment-hardcode-counters-to-zero
1230:  * [new branch]            experiment-no-txs           -> origin/experiment-no-txs
1231:  * [new branch]            experiment-status-tooltip   -> origin/experiment-status-tooltip
1232:  * [new branch]            experiment-with-two-branches -> origin/experiment-with-two-branches
1233:  * [new branch]            experimental_moveitem       -> origin/experimental_moveitem
1234:  * [new branch]            experimient-no-counts       -> origin/experimient-no-counts
1235:  * [new branch]            expiredcertstool            -> origin/expiredcertstool
1236:  * [new branch]            extra-dep-logs              -> origin/extra-dep-logs
1237:  * [new branch]            f84ee4c5f4                  -> origin/f84ee4c5f4
1238:  * [new branch]            faf-doc-clarification       -> origin/faf-doc-clarification
1239:  * [new branch]            failing-test                -> origin/failing-test
1240:  * [new branch]            faster-ci-checks            -> origin/faster-ci-checks
...

1279:  * [new branch]            feature-gkarr-testing2      -> origin/feature-gkarr-testing2
1280:  * [new branch]            feature-hydrant-ca          -> origin/feature-hydrant-ca
1281:  * [new branch]            feature-idp-byod            -> origin/feature-idp-byod
1282:  * [new branch]            feature-orbit-find          -> origin/feature-orbit-find
1283:  * [new branch]            feature-prioritization      -> origin/feature-prioritization
1284:  * [new branch]            feature-v4.44.1-live-queries -> origin/feature-v4.44.1-live-queries
1285:  * [new branch]            feature-windows-mdm-policy-extraction -> origin/feature-windows-mdm-policy-extraction
1286:  * [new branch]            feature/add-blank-to-osquer-link -> origin/feature/add-blank-to-osquer-link
1287:  * [new branch]            feature_14722-activity-feed-webhooks -> origin/feature_14722-activity-feed-webhooks
1288:  * [new branch]            feature_18115-crit-vuln-issues -> origin/feature_18115-crit-vuln-issues
1289:  * [new branch]            feature_19010-ipad-ios-lock-wipe-backend-changes -> origin/feature_19010-ipad-ios-lock-wipe-backend-changes
1290:  * [new branch]            feature_22078               -> origin/feature_22078
1291:  * [new branch]            fix                         -> origin/fix
1292:  * [new branch]            fix-35118-cis-win10-v4      -> origin/fix-35118-cis-win10-v4
1293:  * [new branch]            fix-4.84.4-k8s              -> origin/fix-4.84.4-k8s
1294:  * [new branch]            fix-40083-failed-install-retries -> origin/fix-40083-failed-install-retries
1295:  * [new branch]            fix-41290-vpp-added-status  -> origin/fix-41290-vpp-added-status
1296:  * [new branch]            fix-41337-save-env-secrets-dry-run -> origin/fix-41337-save-env-secrets-dry-run
1297:  * [new branch]            fix-43623-fma-patch-policy-gitops -> origin/fix-43623-fma-patch-policy-gitops
1298:  * [new branch]            fix-43673-my-device-sort    -> origin/fix-43673-my-device-sort
1299:  * [new branch]            fix-44199-embedded-app-bundles -> origin/fix-44199-embedded-app-bundles
1300:  * [new branch]            fix-android-unenroll-activities -> origin/fix-android-unenroll-activities
1301:  * [new branch]            fix-blockquotes-google-groups -> origin/fix-blockquotes-google-groups
1302:  * [new branch]            fix-case-in-deploy-config-docs -> origin/fix-case-in-deploy-config-docs
1303:  * [new branch]            fix-cert-details-modal      -> origin/fix-cert-details-modal
1304:  * [new branch]            fix-checkerboard-scroll-to-right -> origin/fix-checkerboard-scroll-to-right
1305:  * [new branch]            fix-checkerboard-tooltip-nowrap -> origin/fix-checkerboard-tooltip-nowrap
1306:  * [new branch]            fix-cloudflare-warp-fma-output-json -> origin/fix-cloudflare-warp-fma-output-json
1307:  * [new branch]            fix-codeql-ci-error         -> origin/fix-codeql-ci-error
1308:  * [new branch]            fix-colima                  -> origin/fix-colima
1309:  * [new branch]            fix-color-for-mobile-sticky-nav -> origin/fix-color-for-mobile-sticky-nav
1310:  * [new branch]            fix-conflict-in-feature_19010-ipad-ios-lock-wipe -> origin/fix-conflict-in-feature_19010-ipad-ios-lock-wipe
1311:  * [new branch]            fix-contrib-docs            -> origin/fix-contrib-docs
1312:  * [new branch]            fix-cve-2026-2792-firefox-esr -> origin/fix-cve-2026-2792-firefox-esr
1313:  * [new branch]            fix-cve-validate-enrichment-canary -> origin/fix-cve-validate-enrichment-canary
1314:  * [new branch]            fix-dashboard-host-count-card-breakpoint -> origin/fix-dashboard-host-count-card-breakpoint
1315:  * [new branch]            fix-docker-publish          -> origin/fix-docker-publish
1316:  * [new branch]            fix-dogfood-workstation     -> origin/fix-dogfood-workstation
1317:  * [new branch]            fix-firefox-cve-2026-2792   -> origin/fix-firefox-cve-2026-2792
1318:  * [new branch]            fix-firefox-fma-conflict-error-msg -> origin/fix-firefox-fma-conflict-error-msg
1319:  * [new branch]            fix-flakey-orbit-test       -> origin/fix-flakey-orbit-test
...

1325:  * [new branch]            fix-host-counts-vpp-software -> origin/fix-host-counts-vpp-software
1326:  * [new branch]            fix-instability-ubuntu-latest -> origin/fix-instability-ubuntu-latest
1327:  * [new branch]            fix-ios-ipados-enrollment-label-42721 -> origin/fix-ios-ipados-enrollment-label-42721
1328:  * [new branch]            fix-list-sw-permissions     -> origin/fix-list-sw-permissions
1329:  * [new branch]            fix-mdm-enrolled-webhook    -> origin/fix-mdm-enrolled-webhook
1330:  * [new branch]            fix-mdm-redirect            -> origin/fix-mdm-redirect
1331:  * [new branch]            fix-mdm-url-truncation      -> origin/fix-mdm-url-truncation
1332:  * [new branch]            fix-missing-test-schema-update -> origin/fix-missing-test-schema-update
1333:  * [new branch]            fix-modernize               -> origin/fix-modernize
1334:  * [new branch]            fix-no-space-left-on-device-failure -> origin/fix-no-space-left-on-device-failure
1335:  * [new branch]            fix-notarization            -> origin/fix-notarization
1336:  * [new branch]            fix-orbit-notarization      -> origin/fix-orbit-notarization
1337:  * [new branch]            fix-os-settings-name-col-truncation -> origin/fix-os-settings-name-col-truncation
1338:  * [new branch]            fix-os-settings-underline-descender-clip -> origin/fix-os-settings-underline-descender-clip
1339:  * [new branch]            fix-pricing-more-info-icon-documentationurl -> origin/fix-pricing-more-info-icon-documentationurl
1340:  * [new branch]            fix-receive-from-github-error -> origin/fix-receive-from-github-error
1341:  * [new branch]            fix-sandbox-local           -> origin/fix-sandbox-local
...

1354:  * [new branch]            fix-ui-turn-on-mdm-external -> origin/fix-ui-turn-on-mdm-external
1355:  * [new branch]            fix-ui-typo-fleet-maintained-empty -> origin/fix-ui-typo-fleet-maintained-empty
1356:  * [new branch]            fix-vpp-edit-fleet-desktop-message -> origin/fix-vpp-edit-fleet-desktop-message
1357:  * [new branch]            fix-win-os-version          -> origin/fix-win-os-version
1358:  * [new branch]            fix_14825                   -> origin/fix_14825
1359:  * [new branch]            fixes-on-minor-fleet-v4.54.0 -> origin/fixes-on-minor-fleet-v4.54.0
1360:  * [new branch]            fixes-plus-4.35.1           -> origin/fixes-plus-4.35.1
1361:  * [new branch]            flaky-tests-nov-6           -> origin/flaky-tests-nov-6
1362:  * [new branch]            fleet-desktop-linux-browser -> origin/fleet-desktop-linux-browser
1363:  * [new branch]            fleet-desktop-version       -> origin/fleet-desktop-version
1364:  * [new branch]            fleet-mdm-server-url        -> origin/fleet-mdm-server-url
1365:  * [new branch]            fleet-multiple-abm-vpp-proposal -> origin/fleet-multiple-abm-vpp-proposal
1366:  * [new branch]            fleet-premium-users-usage-statistics -> origin/fleet-premium-users-usage-statistics
1367:  * [new branch]            fleet-release-infra         -> origin/fleet-release-infra
1368:  * [new branch]            fleet-server-config-1817    -> origin/fleet-server-config-1817
1369:  * [new branch]            fleet-server-log-request-errors -> origin/fleet-server-log-request-errors
1370:  * [new branch]            fleet-ship-rebuild          -> origin/fleet-ship-rebuild
...

2228:  * [new branch]            hotfix-failing-tests        -> origin/hotfix-failing-tests
2229:  * [new branch]            hotfix-query-update         -> origin/hotfix-query-update
2230:  * [new branch]            hotfix-revert-sofa-tables   -> origin/hotfix-revert-sofa-tables
2231:  * [new branch]            hotfix-v4.67.2-migration    -> origin/hotfix-v4.67.2-migration
2232:  * [new branch]            hotfix-v4.76.1              -> origin/hotfix-v4.76.1
2233:  * [new branch]            hover-gravatar              -> origin/hover-gravatar
2234:  * [new branch]            hughestaylor-patch-1        -> origin/hughestaylor-patch-1
2235:  * [new branch]            hughestaylor-patch-1-1      -> origin/hughestaylor-patch-1-1
2236:  * [new branch]            ignore-fleetctl-vulnerabilities -> origin/ignore-fleetctl-vulnerabilities
2237:  * [new branch]            improve-flakey-test         -> origin/improve-flakey-test
2238:  * [new branch]            improve-prometheus-metrics  -> origin/improve-prometheus-metrics
2239:  * [new branch]            improve-software-tooltips   -> origin/improve-software-tooltips
2240:  * [new branch]            include-mnt-in-gads-metric  -> origin/include-mnt-in-gads-metric
2241:  * [new branch]            increase-goreleaser-timeout-to-60m -> origin/increase-goreleaser-timeout-to-60m
2242:  * [new branch]            ingress-gateway-support     -> origin/ingress-gateway-support
2243:  * [new branch]            insert-software-installers-retry-error -> origin/insert-software-installers-retry-error
2244:  * [new branch]            integration-ci-debug        -> origin/integration-ci-debug
...

2255:  * [new branch]            irenareedy-patch-10         -> origin/irenareedy-patch-10
2256:  * [new branch]            irenareedy-patch-2          -> origin/irenareedy-patch-2
2257:  * [new branch]            irenareedy-patch-3          -> origin/irenareedy-patch-3
2258:  * [new branch]            irenareedy-patch-4          -> origin/irenareedy-patch-4
2259:  * [new branch]            irenareedy-patch-5          -> origin/irenareedy-patch-5
2260:  * [new branch]            irenareedy-patch-6          -> origin/irenareedy-patch-6
2261:  * [new branch]            irenareedy-patch-7          -> origin/irenareedy-patch-7
2262:  * [new branch]            irenareedy-patch-8          -> origin/irenareedy-patch-8
2263:  * [new branch]            irenareedy-patch-9          -> origin/irenareedy-patch-9
2264:  * [new branch]            irenareedy-thumbtack-case-study -> origin/irenareedy-thumbtack-case-study
2265:  * [new branch]            iso-27001-compliance        -> origin/iso-27001-compliance
2266:  * [new branch]            iso42001-ai-discovery-inventory -> origin/iso42001-ai-discovery-inventory
2267:  * [new branch]            issue-11545-my-device-dep-modal -> origin/issue-11545-my-device-dep-modal
2268:  * [new branch]            issue-2716-specify-query-platforms -> origin/issue-2716-specify-query-platforms
2269:  * [new branch]            issue-3271-rate-limit-distributed-writes -> origin/issue-3271-rate-limit-distributed-writes
2270:  * [new branch]            issue-4361-mail-change-should-error -> origin/issue-4361-mail-change-should-error
2271:  * [new branch]            issue-conf-1968-delete-uninstalled-software-from-main -> origin/issue-conf-1968-delete-uninstalled-software-from-main
...

2469:  * [new branch]            melpike-activity-rotate-managed-local-account-password-37142 -> origin/melpike-activity-rotate-managed-local-account-password-37142
2470:  * [new branch]            melpike-add-public-endpoints-44742 -> origin/melpike-add-public-endpoints-44742
2471:  * [new branch]            melpike-api-device-url-43895 -> origin/melpike-api-device-url-43895
2472:  * [new branch]            melpike-api-manually-enroll-23242 -> origin/melpike-api-manually-enroll-23242
2473:  * [new branch]            melpike-api-minimum-version-39085 -> origin/melpike-api-minimum-version-39085
2474:  * [new branch]            melpike-api-py-script-41470 -> origin/melpike-api-py-script-41470
2475:  * [new branch]            melpike-audit-log-account-provisioning-45524 -> origin/melpike-audit-log-account-provisioning-45524
2476:  * [new branch]            melpike-audit-log-mdm-cmd-45021 -> origin/melpike-audit-log-mdm-cmd-45021
2477:  * [new branch]            melpike-audit-recovery-lock-password-rotate -> origin/melpike-audit-recovery-lock-password-rotate
2478:  * [new branch]            melpike-byod-wipe-lock-23242 -> origin/melpike-byod-wipe-lock-23242
2479:  * [new branch]            melpike-byod-wipe-lock-23242-1 -> origin/melpike-byod-wipe-lock-23242-1
2480:  * [new branch]            melpike-byod-wipe-lock-api-23242 -> origin/melpike-byod-wipe-lock-api-23242
2481:  * [new branch]            melpike-byod-wipe-lock-yaml-23242 -> origin/melpike-byod-wipe-lock-yaml-23242
2482:  * [new branch]            melpike-combine-guides-30674 -> origin/melpike-combine-guides-30674
2483:  * [new branch]            melpike-create-managed-local-account-guide-37141 -> origin/melpike-create-managed-local-account-guide-37141
2484:  * [new branch]            melpike-dep-error-messaging-43916 -> origin/melpike-dep-error-messaging-43916
2485:  * [new branch]            melpike-doc-deploy-sw-41470 -> origin/melpike-doc-deploy-sw-41470
...

2621:  * [new branch]            mna-doc-change-api-structure -> origin/mna-doc-change-api-structure
2622:  * [new branch]            mna-experiment-macos-profiles-uuid -> origin/mna-experiment-macos-profiles-uuid
2623:  * [new branch]            mna-fix-22558-windows-installer-stuck-pending -> origin/mna-fix-22558-windows-installer-stuck-pending
2624:  * [new branch]            mna-fix-duplicate-lock-unlock-activity -> origin/mna-fix-duplicate-lock-unlock-activity
2625:  * [new branch]            mna-fix-failing-tests       -> origin/mna-fix-failing-tests
2626:  * [new branch]            mna-fix-flaky-integration-test -> origin/mna-fix-flaky-integration-test
2627:  * [new branch]            mna-fix-oom-fleetctl-test   -> origin/mna-fix-oom-fleetctl-test
2628:  * [new branch]            mna-loadtest-enroll-host-limit -> origin/mna-loadtest-enroll-host-limit
2629:  * [new branch]            mna-orbit-node-key          -> origin/mna-orbit-node-key
2630:  * [new branch]            mna-revert-change-to-autogenerated-activities-doc -> origin/mna-revert-change-to-autogenerated-activities-doc
2631:  * [new branch]            mna-temp-osquery-perf-loadtest -> origin/mna-temp-osquery-perf-loadtest
2632:  * [new branch]            mna11997                    -> origin/mna11997
2633:  * [new branch]            mock-associate-assets-endpoint -> origin/mock-associate-assets-endpoint
2634:  * [new branch]            monitoring-test             -> origin/monitoring-test
2635:  * [new branch]            more-conditional-access-api-updates -> origin/more-conditional-access-api-updates
2636:  * [new branch]            more-fd-errors              -> origin/more-fd-errors
2637:  * [new branch]            move-conditional-access-script-to-testing-qa -> origin/move-conditional-access-script-to-testing-qa
...

3172:  * [new branch]            sgress454/35376             -> origin/sgress454/35376
3173:  * [new branch]            sgress454/35452             -> origin/sgress454/35452
3174:  * [new branch]            sgress454/37127-open-macos-end-user-auth-window -> origin/sgress454/37127-open-macos-end-user-auth-window
3175:  * [new branch]            sgress454/38063-skeleton-server -> origin/sgress454/38063-skeleton-server
3176:  * [new branch]            sgress454/39344-rename-teams-to-fleet-all-changes -> origin/sgress454/39344-rename-teams-to-fleet-all-changes
3177:  * [new branch]            sgress454/39344-rename-teams-to-fleet-api-changes -> origin/sgress454/39344-rename-teams-to-fleet-api-changes
3178:  * [new branch]            sgress454/40642-update-jit-saml-prefix -> origin/sgress454/40642-update-jit-saml-prefix
3179:  * [new branch]            sgress454/43371-output-sso-settings-from-generate-gitops -> origin/sgress454/43371-output-sso-settings-from-generate-gitops
3180:  * [new branch]            sgress454/43482-re-pin      -> origin/sgress454/43482-re-pin
3181:  * [new branch]            sgress454/44077-disable-datasets-backend -> origin/sgress454/44077-disable-datasets-backend
3182:  * [new branch]            sgress454/44077-disable-datasets-docs -> origin/sgress454/44077-disable-datasets-docs
3183:  * [new branch]            sgress454/44077-disable-datasets-frontend -> origin/sgress454/44077-disable-datasets-frontend
3184:  * [new branch]            sgress454/45290-drop-mobile-from-charting -> origin/sgress454/45290-drop-mobile-from-charting
3185:  * [new branch]            sgress454/add-custom-hooks-to-patterns -> origin/sgress454/add-custom-hooks-to-patterns
3186:  * [new branch]            sgress454/add-vex-for-cve-2026-23517 -> origin/sgress454/add-vex-for-cve-2026-23517
3187:  * [new branch]            sgress454/adr-for-error-codes -> origin/sgress454/adr-for-error-codes
3188:  * [new branch]            sgress454/adr-refactor-list-hosts -> origin/sgress454/adr-refactor-list-hosts
...

3242:  * [new branch]            solutions-folder            -> origin/solutions-folder
3243:  * [new branch]            sort-seen-hosts-before-inserting -> origin/sort-seen-hosts-before-inserting
3244:  * [new branch]            spalmesano0-patch-2         -> origin/spalmesano0-patch-2
3245:  * [new branch]            sperad-props-documentation  -> origin/sperad-props-documentation
3246:  * [new branch]            spike-fleet-lint-plugin     -> origin/spike-fleet-lint-plugin
3247:  * [new branch]            spike-ui-permissions-pattern -> origin/spike-ui-permissions-pattern
3248:  * [new branch]            spokanemac-add-passcode-ddm-profile -> origin/spokanemac-add-passcode-ddm-profile
3249:  * [new branch]            spokanemac-dogfood-additional-apps -> origin/spokanemac-dogfood-additional-apps
3250:  * [new branch]            spokanemac-handbook-release-article -> origin/spokanemac-handbook-release-article
3251:  * [new branch]            spokanemac-macdevops-conference-post -> origin/spokanemac-macdevops-conference-post
3252:  * [new branch]            spokanemac-meetup-template  -> origin/spokanemac-meetup-template
3253:  * [new branch]            spokanemac-migrating-fleetdm-from-dogfood-to-terraform-on-aws -> origin/spokanemac-migrating-fleetdm-from-dogfood-to-terraform-on-aws
3254:  * [new branch]            spokanemac-release-article-issue-template -> origin/spokanemac-release-article-issue-template
3255:  * [new branch]            ssrf-transport-ip-blocking  -> origin/ssrf-transport-ip-blocking
3256:  * [new branch]            step4-improvements          -> origin/step4-improvements
3257:  * [new branch]            store-query-execution-and-ingestion-errors -> origin/store-query-execution-and-ingestion-errors
3258:  * [new branch]            support-breaking-osquery-downgrades -> origin/support-breaking-osquery-downgrades
...

3327:  * [new branch]            unauth-installers           -> origin/unauth-installers
3328:  * [new branch]            uniform-brex-spending-limit -> origin/uniform-brex-spending-limit
3329:  * [new branch]            untx-software               -> origin/untx-software
3330:  * [new branch]            upcoming-activities-mdm-commands -> origin/upcoming-activities-mdm-commands
3331:  * [new branch]            upcoming-commands           -> origin/upcoming-commands
3332:  * [new branch]            update-1password-and-safari-policy-versions-2601200025 -> origin/update-1password-and-safari-policy-versions-2601200025
3333:  * [new branch]            update-1password-and-safari-policy-versions-2601200610 -> origin/update-1password-and-safari-policy-versions-2601200610
3334:  * [new branch]            update-1password-and-safari-policy-versions-2602261818 -> origin/update-1password-and-safari-policy-versions-2602261818
3335:  * [new branch]            update-1password-and-safari-policy-versions-2603101819 -> origin/update-1password-and-safari-policy-versions-2603101819
3336:  * [new branch]            update-1password-and-safari-policy-versions-2604080037 -> origin/update-1password-and-safari-policy-versions-2604080037
3337:  * [new branch]            update-1password-and-safari-policy-versions-2604080637 -> origin/update-1password-and-safari-policy-versions-2604080637
3338:  * [new branch]            update-Cloudflare-WARP-FMA-with-UpgradeCode -> origin/update-Cloudflare-WARP-FMA-with-UpgradeCode
3339:  * [new branch]            update-article-format       -> origin/update-article-format
3340:  * [new branch]            update-bug-report-template  -> origin/update-bug-report-template
3341:  * [new branch]            update-build-instructions   -> origin/update-build-instructions
3342:  * [new branch]            update-build-script-error-message -> origin/update-build-script-error-message
3343:  * [new branch]            update-cancel-and-done-links -> origin/update-cancel-and-done-links
...

3418:  * [new branch]            update-santa-rules-chrome   -> origin/update-santa-rules-chrome
3419:  * [new branch]            update-solutions-folder     -> origin/update-solutions-folder
3420:  * [new branch]            update-testing-qa-apps-2511191525 -> origin/update-testing-qa-apps-2511191525
3421:  * [new branch]            update-tuf-keys             -> origin/update-tuf-keys
3422:  * [new branch]            update-tuf-md               -> origin/update-tuf-md
3423:  * [new branch]            update-usage-statistics-mobile-devices -> origin/update-usage-statistics-mobile-devices
3424:  * [new branch]            update-user-password-length-validation-test -> origin/update-user-password-length-validation-test
3425:  * [new branch]            update-vex-statements       -> origin/update-vex-statements
3426:  * [new branch]            update-why-this-way         -> origin/update-why-this-way
3427:  * [new branch]            upgrade-eslint              -> origin/upgrade-eslint
3428:  * [new branch]            upgrade-go                  -> origin/upgrade-go
3429:  * [new branch]            upgrade-typescript          -> origin/upgrade-typescript
3430:  * [new branch]            upload-msiexec-install-log  -> origin/upload-msiexec-install-log
3431:  * [new branch]            usage-stats-mobile-devices-count -> origin/usage-stats-mobile-devices-count
3432:  * [new branch]            use-dockerhub-creds         -> origin/use-dockerhub-creds
3433:  * [new branch]            user-channel-error          -> origin/user-channel-error
3434:  * [new branch]            users-fleets-tooltips       -> origin/users-fleets-tooltips
...

3579:  * [new branch]            wesite-fix-sales-rituals    -> origin/wesite-fix-sales-rituals
3580:  * [new branch]            willmayhone88-patch-1       -> origin/willmayhone88-patch-1
3581:  * [new branch]            win-fma-deepl               -> origin/win-fma-deepl
3582:  * [new branch]            win-fma-evernote            -> origin/win-fma-evernote
3583:  * [new branch]            win-fma-goland              -> origin/win-fma-goland
3584:  * [new branch]            win-fma-testing             -> origin/win-fma-testing
3585:  * [new branch]            win-fma-vnc-apps            -> origin/win-fma-vnc-apps
3586:  * [new branch]            win-mdm-loadtest            -> origin/win-mdm-loadtest
3587:  * [new branch]            windows-baseline            -> origin/windows-baseline
3588:  * [new branch]            windows-firefox-doh-script  -> origin/windows-firefox-doh-script
3589:  * [new branch]            windows-fma-msi-batch       -> origin/windows-fma-msi-batch
3590:  * [new branch]            windows-mdm-autopilot       -> origin/windows-mdm-autopilot
3591:  * [new branch]            windows-mdm-c-poc           -> origin/windows-mdm-c-poc
3592:  * [new branch]            windows-mdm-docs-auto-enroll -> origin/windows-mdm-docs-auto-enroll
3593:  * [new branch]            windows-mdm-load-test       -> origin/windows-mdm-load-test
3594:  * [new branch]            windows_enable_and_configure-error-message -> origin/windows_enable_and_configure-error-message
3595:  * [new branch]            workstations-to-use-edge-channels -> origin/workstations-to-use-edge-channels
...

3604:  * [new branch]            zenity-execuser             -> origin/zenity-execuser
3605:  * [new branch]            zhumo-patch-1               -> origin/zhumo-patch-1
3606:  * [new branch]            zhumo-patch-2               -> origin/zhumo-patch-2
3607:  * [new branch]            zhumo-patch-3               -> origin/zhumo-patch-3
3608:  * [new branch]            zhumo-patch-4               -> origin/zhumo-patch-4
3609:  * [new branch]            zhumo-patch-5               -> origin/zhumo-patch-5
3610:  * [new branch]            zhumo-patch-6               -> origin/zhumo-patch-6
3611:  * [new branch]            zhumo-patch-7               -> origin/zhumo-patch-7
3612:  * [new branch]            zizmor-template-injection   -> origin/zizmor-template-injection
3613:  * [new branch]            zwass-actions-reminders     -> origin/zwass-actions-reminders
3614:  * [new branch]            zwass-improve-macos-cpe     -> origin/zwass-improve-macos-cpe
3615:  * [new branch]            zwass-patch-1               -> origin/zwass-patch-1
3616:  * [new branch]            zwass-patch-2               -> origin/zwass-patch-2
3617:  * [new branch]            zwinnerman-fixup            -> origin/zwinnerman-fixup
3618:  * [new branch]            zwinnerman-livequery-tracing -> origin/zwinnerman-livequery-tracing
3619:  * [new branch]            zwinnerman-redis-error-handling -> origin/zwinnerman-redis-error-handling
3620:  * [new branch]            zwinnerman-test             -> origin/zwinnerman-test
...

4344:  ##[group]Run actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417
4345:  with:
4346:  go-version-file: fleet/go.mod
4347:  check-latest: false
4348:  token: ***
4349:  cache: true
4350:  env:
4351:  GH_TOKEN: ***
4352:  LOG_LEVEL: info
4353:  ##[endgroup]
4354:  Setup go version spec 1.26.3
4355:  Attempting to download 1.26.3...
4356:  matching 1.26.3...
4357:  Acquiring 1.26.3 from https://github.com/actions/go-versions/releases/download/1.26.3-25533533231/go-1.26.3-win32-x64.zip
4358:  Extracting Go...
4359:  [command]"C:\Program Files\PowerShell\7\pwsh.exe" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command "$ErrorActionPreference = 'Stop' ; try { Add-Type -AssemblyName System.IO.Compression.ZipFile } catch { } ; try { [System.IO.Compression.ZipFile]::ExtractToDirectory('D:\a\_temp\go-1.26.3-win32-x64.zip', 'D:\a\_temp\84fe937e-1fa0-422e-b863-a63dca496ff7', $true) } catch { if (($_.Exception.GetType().FullName -eq 'System.Management.Automation.MethodException') -or ($_.Exception.GetType().FullName -eq 'System.Management.Automation.RuntimeException') ){ Expand-Archive -LiteralPath 'D:\a\_temp\go-1.26.3-win32-x64.zip' -DestinationPath 'D:\a\_temp\84fe937e-1fa0-422e-b863-a63dca496ff7' -Force } else { throw $_ } } ;"
4360:  Successfully extracted go to D:\a\_temp\84fe937e-1fa0-422e-b863-a63dca496ff7
4361:  Adding to the cache ...
4362:  Created link C:\hostedtoolcache\windows\go\1.26.3\x64 => D:\hostedtoolcache\windows\go\1.26.3\x64
4363:  Created link C:\hostedtoolcache\windows\go\1.26.3\x64.complete => D:\hostedtoolcache\windows\go\1.26.3\x64.complete
4364:  Successfully cached go to C:\hostedtoolcache\windows\go\1.26.3\x64
4365:  Added go to the path
4366:  Successfully set up Go version 1.26.3
4367:  [command]C:\hostedtoolcache\windows\go\1.26.3\x64\bin\go.exe env GOCACHE
4368:  [command]C:\hostedtoolcache\windows\go\1.26.3\x64\bin\go.exe env GOMODCACHE
4369:  C:\Users\runneradmin\AppData\Local\go-build
4370:  C:\Users\runneradmin\go\pkg\mod
4371:  ##[warning]Restore cache failed: Dependencies file is not found in D:\a\fleet\fleet. Supported file pattern: go.mod
4372:  go version go1.26.3 windows/amd64
...

4452:  GOTOOLCHAIN: local
4453:  GITHUB_BASE_REF: main
4454:  ##[endgroup]
4455:  Detecting changed files in outputs directory...
4456:  Comparing HEAD with origin/main...
4457:  Fetching base branch apps.json from 31a36578cc1348fe9989136a5c298f4016259594...
4458:  Detected changed apps:
4459:  - adobe-acrobat-reader/windows
4460:  - aws-cli/windows
4461:  - box-drive/darwin
4462:  - citrix-workspace/darwin
4463:  - crashplan/darwin
4464:  - cursor/windows
4465:  - textexpander/windows
4466:  - zed/darwin
4467:  ##[group]Run # Default to no changes if detection step failed or didn't set output
4468:  �[36;1m# Default to no changes if detection step failed or didn't set output�[0m
4469:  �[36;1m$hasChanges = "true"�[0m
...

4611:  �[36;1mWrite-Host "Filtering apps.json for slugs: $windowsSlugsJson"�[0m
4612:  �[36;1m�[0m
4613:  �[36;1m$windowsSlugsFile = Join-Path $env:TEMP "windows-slugs-$(New-Guid).json"�[0m
4614:  �[36;1mSet-Content -Path $windowsSlugsFile -Value $windowsSlugsJson -Encoding ascii -NoNewline�[0m
4615:  �[36;1m# Use forward slashes so Git Bash reads the path reliably (it reads this arg as a file).�[0m
4616:  �[36;1m$windowsSlugsFileForBash = $windowsSlugsFile -replace '\\', '/'�[0m
4617:  �[36;1m�[0m
4618:  �[36;1m# Backup original apps.json�[0m
4619:  �[36;1mCopy-Item -Path "ee\maintained-apps\outputs\apps.json" -Destination "ee\maintained-apps\outputs\apps.json.backup"�[0m
4620:  �[36;1m�[0m
4621:  �[36;1m# Create filtered apps.json�[0m
4622:  �[36;1m# Use a fixed path for the temp file to avoid issues with bash�[0m
4623:  �[36;1m$filteredAppsJson = Join-Path $env:TEMP "filtered-apps-$(New-Guid).json"�[0m
4624:  �[36;1mbash .github/scripts/filter-apps-json.sh "$windowsSlugsFileForBash" "$filteredAppsJson"�[0m
4625:  �[36;1mif ($LASTEXITCODE -ne 0) {�[0m
4626:  �[36;1m  Write-Host "Error: filter-apps-json.sh failed with exit code $LASTEXITCODE"�[0m
4627:  �[36;1m  exit 1�[0m
4628:  �[36;1m}�[0m
4629:  �[36;1m�[0m
4630:  �[36;1m# Verify the filtered file was created�[0m
4631:  �[36;1mif (-not (Test-Path $filteredAppsJson)) {�[0m
4632:  �[36;1m  Write-Host "Error: Filtered apps.json was not created at $filteredAppsJson"�[0m
4633:  �[36;1m  exit 1�[0m
...

4731:  go: downloading github.com/getsentry/sentry-go v0.18.0
4732:  go: downloading go.elastic.co/apm/v2 v2.7.0
4733:  go: downloading go.opentelemetry.io/otel v1.43.0
4734:  go: downloading go.opentelemetry.io/otel/metric v1.43.0
4735:  go: downloading go.opentelemetry.io/otel/trace v1.43.0
4736:  go: downloading github.com/mattn/go-colorable v0.1.13
4737:  go: downloading github.com/edsrzf/mmap-go v1.1.0
4738:  go: downloading github.com/secDre4mer/pkcs7 v0.0.0-20240322103146-665324a4461d
4739:  go: downloading github.com/aws/aws-sdk-go-v2/config v1.32.12
4740:  go: downloading github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.35.8
4741:  go: downloading github.com/aws/aws-sdk-go-v2 v1.41.5
4742:  go: downloading github.com/spf13/cobra v1.9.1
4743:  go: downloading github.com/spf13/viper v1.20.1
4744:  go: downloading github.com/go-kit/kit v0.12.0
4745:  go: downloading github.com/smallstep/pkcs7 v0.0.0-20240723090913-5e2c6a136dfa
4746:  go: downloading github.com/hashicorp/go-multierror v1.1.1
4747:  go: downloading github.com/micromdm/plist v0.2.3-0.20260123201933-667adaf87d87
4748:  go: downloading github.com/MicahParks/jwkset v0.11.0
4749:  go: downloading github.com/golang-jwt/jwt/v4 v4.5.2
4750:  go: downloading github.com/WatchBeam/clock v0.0.0-20170901150240-b08e6b4da7ea
4751:  go: downloading github.com/mattn/go-isatty v0.0.20
4752:  go: downloading go.opentelemetry.io/otel/sdk v1.43.0
4753:  go: downloading github.com/andygrunwald/go-jira v1.16.0
4754:  go: downloading github.com/cenkalti/backoff/v4 v4.3.0
4755:  go: downloading github.com/cenkalti/backoff v2.2.1+incompatible
4756:  go: downloading github.com/nukosuke/go-zendesk v0.13.1
4757:  go: downloading github.com/igm/sockjs-go/v3 v3.0.2
4758:  go: downloading gopkg.in/yaml.v2 v2.4.0
4759:  go: downloading github.com/oschwald/maxminddb-golang v1.10.0
4760:  go: downloading github.com/felixge/httpsnoop v1.0.4
4761:  go: downloading github.com/elastic/go-sysinfo v1.11.2
4762:  go: downloading github.com/pkg/errors v0.9.1
4763:  go: downloading go.elastic.co/fastjson v1.1.0
...

4815:  go: downloading github.com/pelletier/go-toml/v2 v2.2.3
4816:  go: downloading gopkg.in/yaml.v3 v3.0.1
4817:  go: downloading github.com/groob/finalizer v0.0.0-20170707115354-4c2ed49aabda
4818:  go: downloading github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.8
4819:  go: downloading cloud.google.com/go/iam v1.5.3
4820:  go: downloading github.com/googleapis/gax-go/v2 v2.17.0
4821:  go: downloading go.opencensus.io v0.24.0
4822:  go: downloading golang.org/x/sync v0.20.0
4823:  go: downloading google.golang.org/grpc v1.79.3
4824:  go: downloading google.golang.org/protobuf v1.36.11
4825:  go: downloading github.com/micromdm/nanolib v0.2.0
4826:  go: downloading github.com/nats-io/nuid v1.0.1
4827:  go: downloading github.com/nats-io/nkeys v0.4.15
4828:  go: downloading github.com/go-logfmt/logfmt v0.5.1
4829:  go: downloading go.mozilla.org/pkcs7 v0.0.0-20210826202110-33d05740a352
4830:  go: downloading github.com/joeshaw/multierror v0.0.0-20140124173710-69b34d4ec901
4831:  go: downloading github.com/elastic/go-windows v1.0.1
...

4863:  time=level=INFO msg=Downloading...
4864:  time=level=INFO msg="Executing install script..." app=Cursor
4865:  time=level=INFO msg="New application detected at: C:\\Program Files\\cursor" app=Cursor
4866:  time=level=INFO msg="Looking for app: Cursor, version: 3.7.12" app=Cursor
4867:  time=level=INFO msg="Found app: 'Cursor' at C:\\Program Files\\cursor\\, Version: 3.7.12" app=Cursor
4868:  time=level=INFO msg="Executing uninstall script for app..." app=Cursor
4869:  time=level=INFO msg="Looking for app: Cursor, version: 3.7.12" app=Cursor
4870:  time=level=INFO msg="All checks passed for app: Cursor (cursor/windows)"
4871:  time=level=INFO msg="Validating app: TextExpander (textexpander/windows)"
4872:  time=level=INFO msg=Downloading...
4873:  time=level=INFO msg="Executing install script..." app=TextExpander
4874:  time=level=INFO msg="New application detected at: C:\\Program Files\\Smile" app=TextExpander
4875:  time=level=INFO msg="Looking for app: TextExpander, version: 254.8.4.402" app=TextExpander
4876:  time=level=INFO msg="Found app: 'TextExpander' at C:\\Program Files\\Smile\\TextExpander\\, Version: 254.8.4.402" app=TextExpander
4877:  time=level=INFO msg="Executing uninstall script for app..." app=TextExpander
4878:  time=level=ERROR msg="Error uninstalling app: exit status 3010" app=TextExpander
4879:  time=level=ERROR msg="Output: \n--------------------\nUninstall for {F396EB31-047A-48C0-9F90-4A049EBB8AD5} exited 3010\r\n\n--------------------" app=TextExpander
4880:  time=level=WARN msg="Some apps were validated with warnings: [AWS Command Line Interface v2]"
4881:  time=level=INFO msg="Validated 3 out of 4 apps successfully."
4882:  time=level=INFO msg="Apps with errors: [TextExpander]"
4883:  exit status 1
4884:  ##[error]Process completed with exit code 1.
4885:  Post job cleanup.
...

4891:  [command]"C:\Program Files\Git\bin\git.exe" config --global --add safe.directory D:\a\fleet\fleet\fleet
4892:  [command]"C:\Program Files\Git\bin\git.exe" config --local --name-only --get-regexp core\.sshCommand
4893:  [command]"C:\Program Files\Git\bin\git.exe" submodule foreach --recursive "sh -c \"git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :\""
4894:  [command]"C:\Program Files\Git\bin\git.exe" config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
4895:  [command]"C:\Program Files\Git\bin\git.exe" submodule foreach --recursive "sh -c \"git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :\""
4896:  Post job cleanup.
4897:  [harden-runner] post-step
4898:  stopping windows agent process...
4899:  agent PID from file: 1672
4900:  stopping agent process (PID: 1672)...
4901:  agent process stopped gracefully
4902:  PID file cleaned up
4903:  agent log:
4904:  time=level=INFO msg="[buildInfo] name=AgentWindows branch=HEAD tag=v1.0.2 commit=28f16fdca062c8e84782028adbfdc2bbe9759dcc"
4905:  time=level=INFO msg="GithubHeartBeatManager started"
4906:  time=level=INFO msg="Error Sending runner status Started: API call error, status code: 400"
4907:  {"time":"2026-06-06T12:35:33.986Z","level":"info","component":"session","session":"SS-User-41b44fa9-6bd0-4cb2-9d4d-688f006e492c","Handle":32,"BufferSizeKB":64,"MinBuffers":8,"MaxBuffers":30,"message":"Session started"}
...

5031:  time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5032:  time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5033:  time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5034:  time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5035:  time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5036:  time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5037:  time=level=WARN msg="pid reused" pid=5356 exe=CompatTelRunner.exe existingExe=compile.exe existingStartTime=time=level=WARN msg="existing process not stopped, resetting it" pid=5356 exe=CompatTelRunner.exe existingExe=compile.exe existingStartTime=time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5038:  time=level=WARN msg="pid reused" pid=6232 exe=SingleClientServicesUpdater.exe existingExe=compile.exe existingStartTime=time=level=WARN msg="existing process not stopped, resetting it" pid=6232 exe=SingleClientServicesUpdater.exe existingExe=compile.exe existingStartTime=time=level=WARN msg="pid reused" pid=4124 exe=rundll32.exe existingExe=compile.exe existingStartTime=time=level=WARN msg="existing process not stopped, resetting it" pid=4124 exe=rundll32.exe existingExe=compile.exe existingStartTime=time=level=WARN msg="pid reused" pid=480 exe=SingleClientServicesUpdater.exe existingExe=compile.exe existingStartTime=time=level=WARN msg="existing process not stopped, resetting it" pid=480 exe=SingleClientServicesUpdater.exe existingExe=compile.exe existingStartTime=time=level=WARN msg="pid reused" pid=364 exe=wsl.exe existingExe=compile.exe existingStartTime=time=level=WARN msg="existing process not stopped, resetting it" pid=364 exe=wsl.exe existingExe=compile.exe existingStartTime=time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5039:  time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5040:  time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5041:  time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5042:  time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5043:  time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5044:  time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5045:  time=level=WARN msg="pid reused" pid=1012 exe=BfeToolWin8.exe existingExe=as.exe existingStartTime=time=level=WARN msg="existing process not stopped, resetting it" pid=1012 exe=BfeToolWin8.exe existingExe=as.exe existingStartTime=time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5046:  time=level=WARN msg="pid reused" pid=3060 exe=conhost.exe existingExe=compile.exe existingStartTime=time=level=WARN msg="existing process not stopped, resetting it" pid=3060 exe=conhost.exe existingExe=compile.exe existingStartTime=time=level=WARN msg="pid reused" pid=4696 exe=osqueryi.exe existingExe=sh.exe existingStartTime=time=level=WARN msg="existing process not stopped, resetting it" pid=4696 exe=osqueryi.exe existingExe=sh.exe existingStartTime=time=level=INFO msg="Error Sending runner status Alive: API call error, status code: 400"
5047:  time=level=WARN msg="pid reused" pid=5252 exe=conhost.exe existingExe=wevtutil.exe existingStartTime=time=level=WARN msg="existing process not stopped, resetting it" pid=5252 exe=conhost.exe existingExe=wevtutil.exe existingStartTime=time=level=WARN msg="pid reused" pid=7116 exe=powershell.exe existingExe=asm.exe existingStartTime=time=level=WARN msg="existing process not stopped, resetting it" pid=7116 exe=powershell.exe existingExe=asm.exe existingStartTime=time=level=WARN msg="pid reused" pid=2780 exe=msiexec.exe existingExe=sh.exe existingStartTime=time=level=WARN msg="existing process not stopped, resetting it" pid=2780 exe=msiexec.exe existingExe=sh.exe existingStartTime=time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
...

5155:  time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5156:  time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5157:  time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5158:  time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5159:  time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5160:  time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5161:  time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5162:  time=level=WARN msg="pid reused" pid=8776 exe=wsl.exe existingExe=compile.exe existingStartTime=time=level=WARN msg="existing process not stopped, resetting it" pid=8776 exe=wsl.exe existingExe=compile.exe existingStartTime=time=level=WARN msg="pid reused" pid=6376 exe=wsl.exe existingExe=jq.exe existingStartTime=time=level=WARN msg="existing process not stopped, resetting it" pid=6376 exe=wsl.exe existingExe=jq.exe existingStartTime=time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5163:  time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5164:  time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5165:  time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5166:  time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5167:  time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5168:  time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5169:  time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12
5170:  time=level=INFO msg="Error Sending runner status Alive: API call error, status code: 400"
5171:  time=level=INFO msg="Desnation IP is Ignored" destAddr=168.63.129.16 event_header=12

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

Closing in favor of #47004.

@github-actions github-actions Bot closed this Jun 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants