Commit Graph

1552 Commits

Author SHA1 Message Date
pulse-triage[bot] c0ca94ee9f Restore Windows installer test compilation
The Unix agent-ID recovery test imported syscall.Mkfifo from a generic test file. Go must compile that file before its runtime skip can run, so Windows CI could no longer build the installer test package. Keep the security regression on supported Unix targets while restoring the Windows delivery signal.

Change-source: pulse-maintainer
2026-09-01 23:33:24 +01:00
rcourtman 813c2b6837 Match CI temp layout in the preflight worker and isolate agent helper tests
go test places t.TempDir under GOTMPDIR, and the preflight worker nested that
under its per-run directory, so unix socket fixtures in cmd/pulse-agent-helper,
internal/agenthelper, and internal/dockeragent exceeded the 108-byte sun_path
limit and failed with "bind: invalid argument". GitHub runners leave GOTMPDIR
unset, and the longest rootless Podman fixture sits exactly at the limit under
/tmp, so the worker now leaves GOTMPDIR unset by default and only honours an
explicit PULSE_RELEASE_PREFLIGHT_GO_TMP_DIR override.

Two cmd/pulse-agent helper tests ran without a state directory, so the agent
consulted the platform default /var/lib/pulse-agent. On a host where that
path exists as a private directory the pending-update handoff lookup fails
with permission denied. Give those tests an isolated state directory.
2026-09-01 22:35:55 +01:00
pulse-triage[bot] 5fb7177b8a Require compiler dispatch run details
Change-source: pulse-maintainer
2026-09-01 22:26:46 +01:00
rcourtman 96a4dceb9d Pin umask 022 in installtests so trust fixtures are host-independent
install.sh refuses connection state, token, and lifecycle files whose
parent directory is group- or world-writable. The fixtures build those
parents with t.TempDir, which inherits the process umask, so on a worker
with umask 002 the state directory came out 775 and seven TestInstallSH
cases failed on the pulse-dev release preflight while passing on GitHub
runners and macOS. Set umask 022 for the package on unix so the tests
prove the installer contract rather than the host's umask.
2026-09-01 22:20:15 +01:00
pulse-triage[bot] 5b204cdc75 Close mirrored workflow scalar syntax gaps
Recognize bare sequence entries and every valid block scalar header across executable action inputs, run scripts, and step environment boundaries.

Change-source: pulse-maintainer
2026-09-01 22:13:37 +01:00
pulse-triage[bot] 544b7fd575 Merge batch-start origin/main
Change-source: pulse-maintainer
2026-09-01 21:51:21 +01:00
pulse-triage[bot] f581f955e2 Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-01 21:40:47 +01:00
rcourtman 152ef86d33 Activate mise shims in the release preflight worker
The exact-SHA preflight streams the worker script over a non-login ssh
shell, so /etc/profile.d/mise.sh is never sourced and a stale system Node
binary on the worker shadows the infra-managed mise toolchain. pulse-dev
carried a manually installed Node 20 symlink in /usr/local/bin, so the
worker failed its Node 24 check while a login shell resolved 24.19.0.
Activate mise shims when mise is installed so the worker uses the same
toolchain the bootstrap provisions, regardless of how it is invoked.
2026-09-01 21:40:05 +01:00
rcourtman 62bfdbca7e Prepare v6.4.3-rc.1 release
Open the v6.4.3 candidate line from main. The v6.4.2 tag was staged on
2026-08-31 but never activated: its release run was cancelled after the
private Pro build failed the compiler memory gate, so the latest published
stable is still v6.4.1. This candidate carries the complete v6.4.2 change
set plus the corrections landed since that tag, including the stale PBS
Backup Running state (#1815), the Windows Unified Agent auto-update 404
(#1820), and shared-token same-hostname agent identity collapse (#1753).

Packet: VERSION, compose and install-docker defaults, Helm chart metadata,
release notes with a declined visual plan, changelog, pointer docs and
the shipped docs mirror, and the deployment-installability cutoff note.
Rollback target is v6.4.1 and the mobile decision is no-mobile-impact.

Tests: the packet tests now describe the 6.4.3 train, v6.4.2 is recorded
as an unpublished stable so it is never derived as the previous stable or
rollback target, and the Python v6.4.2 notes expectation matches the
phrase the notes actually use.
2026-09-01 21:37:41 +01:00
pulse-triage[bot] 22cc59cc2c Reject template injection in executable action inputs
Change-source: pulse-maintainer
2026-09-01 21:35:35 +01:00
pulse-triage[bot] 73bd27a0f5 Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-01 21:30:09 +01:00
rcourtman 60041ad9e6 Validate each rootless socket identity 2026-09-01 21:26:49 +01:00
pulse-triage[bot] a869475bf1 Reject flow-nested YAML trust aliases
Change-source: pulse-maintainer
2026-09-01 21:21:45 +01:00
pulse-triage[bot] 8cd5c2cae5 Reject hidden workflow trust structure
Change-source: pulse-maintainer
2026-09-01 21:18:26 +01:00
rcourtman bc3dd3b704 Give rootless qualification hosts unique identities 2026-09-01 21:18:24 +01:00
pulse-triage[bot] 4fda8f146e Merge batch-start origin/main
Change-source: pulse-maintainer
2026-09-01 20:58:31 +01:00
rcourtman f364cfc73b Reset Podman qualification storage on teardown 2026-09-01 20:49:43 +01:00
pulse-triage[bot] 6af9fd6105 Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-01 20:34:02 +01:00
rcourtman fec53eb39e Wait for rootless runtime mounts to release 2026-09-01 20:26:46 +01:00
pulse-triage[bot] 028ccbd35f Keep OIDC attestations on hosted runners
Change-source: pulse-maintainer
2026-09-01 20:17:13 +01:00
rcourtman 089ce2379d Clean runtime fixtures before qualification teardown 2026-09-01 20:13:15 +01:00
pulse-triage[bot] de6779de81 Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-01 20:06:09 +01:00
rcourtman 19f264701e Wait for stable rootless recovery evidence 2026-09-01 20:01:15 +01:00
pulse-triage[bot] 906b3dafee Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-01 19:57:14 +01:00
rcourtman 861f0f07bc Persist rootless qualification receipts 2026-09-01 19:47:15 +01:00
pulse-triage[bot] c10e93943b Parse workflow job trust boundaries structurally
Change-source: pulse-maintainer
2026-09-01 19:46:57 +01:00
pulse-triage[bot] bc301daf5a Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-01 19:46:57 +01:00
rcourtman e89eaac9d4 Require VCS metadata in rootless packet builds 2026-09-01 19:37:23 +01:00
pulse-triage[bot] 264ad97302 Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-01 19:36:12 +01:00
pulse-triage[bot] 5c26a8f6d1 Close privileged workflow cache audit bypasses
Change-source: pulse-maintainer
2026-09-01 19:31:06 +01:00
pulse-triage[bot] f61815839f Keep unsigned caches out of privileged workflows
Change-source: pulse-maintainer
2026-09-01 19:29:37 +01:00
rcourtman 67dce69e73 Remove safe profile state on uninstall 2026-09-01 19:28:01 +01:00
pulse-triage[bot] e268194305 Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-01 19:14:57 +01:00
rcourtman 3d6116d17f Handle unloaded user manager cleanup 2026-09-01 19:08:53 +01:00
pulse-triage[bot] 4219472fdd Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-01 19:05:13 +01:00
pulse-triage[bot] aee0ba5594 Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-01 19:01:54 +01:00
rcourtman 4db44f7a26 Handle unloaded user manager teardown 2026-09-01 18:59:01 +01:00
rcourtman 5c276d1037 Use portable helper network canary 2026-09-01 18:48:52 +01:00
pulse-triage[bot] b658a8361f Align release policy with safe workflow outputs
Change-source: pulse-maintainer
2026-09-01 18:32:39 +01:00
pulse-triage[bot] 6b5369bbfa Align TrueNAS guidance with JSON-RPC runtime
Change-source: pulse-maintainer
2026-09-01 18:32:39 +01:00
rcourtman 5b47049e3f Exercise ambiguity through typed helper boundary 2026-09-01 18:27:53 +01:00
rcourtman 296d04fffa Make rootless ambiguity proof deterministic 2026-09-01 18:15:20 +01:00
pulse-triage[bot] 4705a18188 Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-01 18:06:53 +01:00
rcourtman 0726312e5c Bound rootless ambiguity probe cancellation 2026-09-01 18:00:26 +01:00
pulse-triage[bot] 7d733a666a Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-01 17:46:25 +01:00
rcourtman 0e944562e9 Restore telemetry parity after rootless daemon restart 2026-09-01 17:36:08 +01:00
pulse-triage[bot] de41ea1883 Preserve workflow taint across branches
Change-source: pulse-maintainer
2026-09-01 17:34:30 +01:00
rcourtman 6a45460aff Handle collected transient units in rootless qualification 2026-09-01 17:28:05 +01:00
pulse-triage[bot] f8de8b90ce Merge remote-tracking branch 'origin/main'
Change-source: pulse-maintainer
2026-09-01 17:24:14 +01:00
rcourtman 7d7cb44855 Canonicalize rootless telemetry parity hashing 2026-09-01 17:16:30 +01:00