From ad5a1f06c935304c6a7216906a35aa96205814a6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 14 Jul 2026 09:53:47 +0000 Subject: [PATCH 1/4] build(deps): bump github.com/tochemey/goakt/v4 from 4.2.13 to 4.3.1 Bumps [github.com/tochemey/goakt/v4](https://github.com/tochemey/goakt) from 4.2.13 to 4.3.1. - [Release notes](https://github.com/tochemey/goakt/releases) - [Changelog](https://github.com/Tochemey/goakt/blob/main/CHANGELOG.md) - [Commits](https://github.com/tochemey/goakt/compare/v4.2.13...v4.3.1) --- updated-dependencies: - dependency-name: github.com/tochemey/goakt/v4 dependency-version: 4.3.1 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 8 ++++---- go.sum | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index c898d395..d14f3286 100644 --- a/go.mod +++ b/go.mod @@ -43,7 +43,7 @@ require ( github.com/stretchr/testify v1.11.1 github.com/stripe/stripe-go/v82 v82.5.1 github.com/tliron/glsp v0.2.2 - github.com/tochemey/goakt/v4 v4.2.13 + github.com/tochemey/goakt/v4 v4.3.1 github.com/xdg-go/scram v1.2.0 github.com/zalando/go-keyring v0.2.8 go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.69.0 @@ -54,7 +54,7 @@ require ( golang.org/x/crypto v0.53.0 golang.org/x/mod v0.37.0 golang.org/x/oauth2 v0.36.0 - golang.org/x/sync v0.21.0 + golang.org/x/sync v0.22.0 golang.org/x/text v0.38.0 golang.org/x/time v0.15.0 golang.org/x/tools v0.47.0 @@ -228,7 +228,7 @@ require ( github.com/tidwall/redcon v1.6.2 // indirect github.com/tliron/commonlog v0.2.21 // indirect github.com/tliron/go-kutil v0.4.0 // indirect - github.com/tochemey/olric v0.3.10 // indirect + github.com/tochemey/olric v0.3.11 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect @@ -253,7 +253,7 @@ require ( go.yaml.in/yaml/v4 v4.0.0-rc.3 // indirect golang.org/x/arch v0.28.0 // indirect golang.org/x/net v0.56.0 // indirect - golang.org/x/sys v0.46.0 // indirect + golang.org/x/sys v0.47.0 // indirect golang.org/x/term v0.44.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20260630182238-925bb5da69e7 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260630182238-925bb5da69e7 // indirect diff --git a/go.sum b/go.sum index 0cbd919e..6b80d4c7 100644 --- a/go.sum +++ b/go.sum @@ -651,10 +651,10 @@ github.com/tliron/glsp v0.2.2 h1:IKPfwpE8Lu8yB6Dayta+IyRMAbTVunudeauEgjXBt+c= github.com/tliron/glsp v0.2.2/go.mod h1:GMVWDNeODxHzmDPvYbYTCs7yHVaEATfYtXiYJ9w1nBg= github.com/tliron/go-kutil v0.4.0 h1:5JwcBacgnqS3XyhwCWZKvq8ftlbVttNXnt+kfCH+Y2E= github.com/tliron/go-kutil v0.4.0/go.mod h1:hpHVq+CP1uci2M208UEjPiPwsRsz/QweGBnLB3CaQ24= -github.com/tochemey/goakt/v4 v4.2.13 h1:Pq7+EGApre5d8rUMFD/EcZmtsKnTQ4ALuNKQ1a1O6/Q= -github.com/tochemey/goakt/v4 v4.2.13/go.mod h1:KxXy+niDlSrdeLnWkNg+nDQ5BCZGxrkKZEAQbBSmxNY= -github.com/tochemey/olric v0.3.10 h1:S5Ypz0QxZiLFv7DUrm9q40+mh9FO24WniZRabU33aQE= -github.com/tochemey/olric v0.3.10/go.mod h1:l/LsIx3UPjIKh4OYOihM7+7a66hAmdKJ+fX6YJhfH7k= +github.com/tochemey/goakt/v4 v4.3.1 h1:l6JBN/kr1qN9tFki2dfDUDIwhmBnirxEp7h8CGZNyq8= +github.com/tochemey/goakt/v4 v4.3.1/go.mod h1:QcHNrLicr/4+dqzI0OEJ//8rv0TxpvbqHsEkWSuCcAc= +github.com/tochemey/olric v0.3.11 h1:GMvXyIc6eeBgFknHVLyVS1GMBQoi8HhNU/ml1cZ1Nm4= +github.com/tochemey/olric v0.3.11/go.mod h1:lauJDgUkt283EIMzO1mMh9wLLVQSwREtBpF/lYX3JKU= github.com/ttacon/chalk v0.0.0-20160626202418-22c06c80ed31/go.mod h1:onvgF043R+lC5RZ8IT9rBXDaEDnpnw/Cl+HFiw+v/7Q= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= @@ -779,8 +779,8 @@ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM= -golang.org/x/sync v0.21.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek= +golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -802,8 +802,8 @@ golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw= -golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= +golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= From efc970fb6325be33c49f5bb06c753a6797f4f043 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 15 Jul 2026 07:18:15 +0000 Subject: [PATCH 2/4] chore: go mod tidy in example/ - update goakt/v4, olric, sync, sys Co-authored-by: intel352 <77607+intel352@users.noreply.github.com> --- example/go.mod | 8 ++++---- example/go.sum | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/example/go.mod b/example/go.mod index 91d205c6..921c2800 100644 --- a/example/go.mod +++ b/example/go.mod @@ -154,8 +154,8 @@ require ( github.com/tidwall/btree v1.8.1 // indirect github.com/tidwall/match v1.2.0 // indirect github.com/tidwall/redcon v1.6.2 // indirect - github.com/tochemey/goakt/v4 v4.2.13 // indirect - github.com/tochemey/olric v0.3.10 // indirect + github.com/tochemey/goakt/v4 v4.3.1 // indirect + github.com/tochemey/olric v0.3.11 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect @@ -186,8 +186,8 @@ require ( golang.org/x/mod v0.37.0 // indirect golang.org/x/net v0.56.0 // indirect golang.org/x/oauth2 v0.36.0 // indirect - golang.org/x/sync v0.21.0 // indirect - golang.org/x/sys v0.46.0 // indirect + golang.org/x/sync v0.22.0 // indirect + golang.org/x/sys v0.47.0 // indirect golang.org/x/term v0.44.0 // indirect golang.org/x/text v0.38.0 // indirect golang.org/x/time v0.15.0 // indirect diff --git a/example/go.sum b/example/go.sum index 7876c197..cef8a252 100644 --- a/example/go.sum +++ b/example/go.sum @@ -530,10 +530,10 @@ github.com/tklauser/go-sysconf v0.4.0 h1:7H0uAN+7RkwWRaxhYXDLqa5V3LPrJeV8wmD9dRU github.com/tklauser/go-sysconf v0.4.0/go.mod h1:8mTNWyog7H+MpKijp4VmKJAd2bbYQ2zuUwkYRbUArPI= github.com/tklauser/numcpus v0.12.0 h1:NR85qdvHA9pFse3x3weVZ0r0ST8R6l5RHbZrlRaqob4= github.com/tklauser/numcpus v0.12.0/go.mod h1:ABHeXzJnr/qqwguhClkZKT1/8VABcYrsyUiUGobwWJg= -github.com/tochemey/goakt/v4 v4.2.13 h1:Pq7+EGApre5d8rUMFD/EcZmtsKnTQ4ALuNKQ1a1O6/Q= -github.com/tochemey/goakt/v4 v4.2.13/go.mod h1:KxXy+niDlSrdeLnWkNg+nDQ5BCZGxrkKZEAQbBSmxNY= -github.com/tochemey/olric v0.3.10 h1:S5Ypz0QxZiLFv7DUrm9q40+mh9FO24WniZRabU33aQE= -github.com/tochemey/olric v0.3.10/go.mod h1:l/LsIx3UPjIKh4OYOihM7+7a66hAmdKJ+fX6YJhfH7k= +github.com/tochemey/goakt/v4 v4.3.1 h1:l6JBN/kr1qN9tFki2dfDUDIwhmBnirxEp7h8CGZNyq8= +github.com/tochemey/goakt/v4 v4.3.1/go.mod h1:QcHNrLicr/4+dqzI0OEJ//8rv0TxpvbqHsEkWSuCcAc= +github.com/tochemey/olric v0.3.11 h1:GMvXyIc6eeBgFknHVLyVS1GMBQoi8HhNU/ml1cZ1Nm4= +github.com/tochemey/olric v0.3.11/go.mod h1:lauJDgUkt283EIMzO1mMh9wLLVQSwREtBpF/lYX3JKU= github.com/ttacon/chalk v0.0.0-20160626202418-22c06c80ed31/go.mod h1:onvgF043R+lC5RZ8IT9rBXDaEDnpnw/Cl+HFiw+v/7Q= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= @@ -650,8 +650,8 @@ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM= -golang.org/x/sync v0.21.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek= +golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -673,8 +673,8 @@ golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw= -golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= +golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= From 3d41d21f3b851e91f5a7aa83a137cf0558962ecd Mon Sep 17 00:00:00 2001 From: Jon Langevin Date: Fri, 2 Oct 2026 14:12:17 -0400 Subject: [PATCH 3/4] fix: adapt actor grains and fixtures to GoAkt 4.3.1 --- .../testdata/verify_capabilities/good/go.mod | 2 +- .../testdata/verify_capabilities/good/go.sum | 8 +- .../iac-extra-service/go.mod | 2 +- .../iac-extra-service/go.sum | 8 +- .../verify_capabilities/iac-good/go.mod | 2 +- .../verify_capabilities/iac-good/go.sum | 8 +- .../iac-missing-service/go.mod | 2 +- .../iac-missing-service/go.sum | 8 +- .../verify_capabilities/missing-ldflag/go.mod | 2 +- .../verify_capabilities/missing-ldflag/go.sum | 8 +- .../verify_capabilities/name-drift/go.mod | 2 +- .../verify_capabilities/name-drift/go.sum | 8 +- .../verify_capabilities/release-good/go.mod | 2 +- .../verify_capabilities/release-good/go.sum | 8 +- .../verify_capabilities/version-drift/go.mod | 2 +- .../verify_capabilities/version-drift/go.sum | 8 +- plugins/actors/bridge_actor.go | 20 +++- plugins/actors/bridge_actor_test.go | 110 +++++++++++++++--- plugins/actors/grain_pool.go | 30 +++++ plugins/actors/module_pool.go | 14 +-- plugins/actors/module_system.go | 6 + 21 files changed, 194 insertions(+), 66 deletions(-) create mode 100644 plugins/actors/grain_pool.go diff --git a/cmd/wfctl/testdata/verify_capabilities/good/go.mod b/cmd/wfctl/testdata/verify_capabilities/good/go.mod index d75851d9..b6ed1a66 100644 --- a/cmd/wfctl/testdata/verify_capabilities/good/go.mod +++ b/cmd/wfctl/testdata/verify_capabilities/good/go.mod @@ -31,7 +31,7 @@ require ( go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.28.0 // indirect golang.org/x/net v0.56.0 // indirect - golang.org/x/sys v0.46.0 // indirect + golang.org/x/sys v0.47.0 // indirect golang.org/x/text v0.38.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260630182238-925bb5da69e7 // indirect google.golang.org/grpc v1.82.0 // indirect diff --git a/cmd/wfctl/testdata/verify_capabilities/good/go.sum b/cmd/wfctl/testdata/verify_capabilities/good/go.sum index 00e2f3e0..5d845cfa 100644 --- a/cmd/wfctl/testdata/verify_capabilities/good/go.sum +++ b/cmd/wfctl/testdata/verify_capabilities/good/go.sum @@ -300,15 +300,15 @@ golang.org/x/net v0.56.0 h1:Rw8j/hFzGvJUZwNBXnAtf5sVDVt+65SK2C7IxCxZt5o= golang.org/x/net v0.56.0/go.mod h1:D3Ku6r+V6JROoZK144D2XfMHFcMq/0zSfLelVTCFKec= golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= -golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM= -golang.org/x/sync v0.21.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek= +golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw= -golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= +golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/text v0.38.0 h1:sXmwo9DwP3OK9EZ7PqAdaooSGozfl/3a6/xJcbzPRhE= golang.org/x/text v0.38.0/go.mod h1:YXZt3QhHUKYT53r2lLKFIVi6Ao1jdzrTR/KQ09qyxF4= golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= diff --git a/cmd/wfctl/testdata/verify_capabilities/iac-extra-service/go.mod b/cmd/wfctl/testdata/verify_capabilities/iac-extra-service/go.mod index 16edb5ce..5651f039 100644 --- a/cmd/wfctl/testdata/verify_capabilities/iac-extra-service/go.mod +++ b/cmd/wfctl/testdata/verify_capabilities/iac-extra-service/go.mod @@ -31,7 +31,7 @@ require ( go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.28.0 // indirect golang.org/x/net v0.56.0 // indirect - golang.org/x/sys v0.46.0 // indirect + golang.org/x/sys v0.47.0 // indirect golang.org/x/text v0.38.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260630182238-925bb5da69e7 // indirect google.golang.org/grpc v1.82.0 // indirect diff --git a/cmd/wfctl/testdata/verify_capabilities/iac-extra-service/go.sum b/cmd/wfctl/testdata/verify_capabilities/iac-extra-service/go.sum index 00e2f3e0..5d845cfa 100644 --- a/cmd/wfctl/testdata/verify_capabilities/iac-extra-service/go.sum +++ b/cmd/wfctl/testdata/verify_capabilities/iac-extra-service/go.sum @@ -300,15 +300,15 @@ golang.org/x/net v0.56.0 h1:Rw8j/hFzGvJUZwNBXnAtf5sVDVt+65SK2C7IxCxZt5o= golang.org/x/net v0.56.0/go.mod h1:D3Ku6r+V6JROoZK144D2XfMHFcMq/0zSfLelVTCFKec= golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= -golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM= -golang.org/x/sync v0.21.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek= +golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw= -golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= +golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/text v0.38.0 h1:sXmwo9DwP3OK9EZ7PqAdaooSGozfl/3a6/xJcbzPRhE= golang.org/x/text v0.38.0/go.mod h1:YXZt3QhHUKYT53r2lLKFIVi6Ao1jdzrTR/KQ09qyxF4= golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= diff --git a/cmd/wfctl/testdata/verify_capabilities/iac-good/go.mod b/cmd/wfctl/testdata/verify_capabilities/iac-good/go.mod index af929258..21c30ea7 100644 --- a/cmd/wfctl/testdata/verify_capabilities/iac-good/go.mod +++ b/cmd/wfctl/testdata/verify_capabilities/iac-good/go.mod @@ -31,7 +31,7 @@ require ( go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.28.0 // indirect golang.org/x/net v0.56.0 // indirect - golang.org/x/sys v0.46.0 // indirect + golang.org/x/sys v0.47.0 // indirect golang.org/x/text v0.38.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260630182238-925bb5da69e7 // indirect google.golang.org/grpc v1.82.0 // indirect diff --git a/cmd/wfctl/testdata/verify_capabilities/iac-good/go.sum b/cmd/wfctl/testdata/verify_capabilities/iac-good/go.sum index 00e2f3e0..5d845cfa 100644 --- a/cmd/wfctl/testdata/verify_capabilities/iac-good/go.sum +++ b/cmd/wfctl/testdata/verify_capabilities/iac-good/go.sum @@ -300,15 +300,15 @@ golang.org/x/net v0.56.0 h1:Rw8j/hFzGvJUZwNBXnAtf5sVDVt+65SK2C7IxCxZt5o= golang.org/x/net v0.56.0/go.mod h1:D3Ku6r+V6JROoZK144D2XfMHFcMq/0zSfLelVTCFKec= golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= -golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM= -golang.org/x/sync v0.21.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek= +golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw= -golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= +golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/text v0.38.0 h1:sXmwo9DwP3OK9EZ7PqAdaooSGozfl/3a6/xJcbzPRhE= golang.org/x/text v0.38.0/go.mod h1:YXZt3QhHUKYT53r2lLKFIVi6Ao1jdzrTR/KQ09qyxF4= golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= diff --git a/cmd/wfctl/testdata/verify_capabilities/iac-missing-service/go.mod b/cmd/wfctl/testdata/verify_capabilities/iac-missing-service/go.mod index 4bc7fa68..4f83d1b4 100644 --- a/cmd/wfctl/testdata/verify_capabilities/iac-missing-service/go.mod +++ b/cmd/wfctl/testdata/verify_capabilities/iac-missing-service/go.mod @@ -31,7 +31,7 @@ require ( go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.28.0 // indirect golang.org/x/net v0.56.0 // indirect - golang.org/x/sys v0.46.0 // indirect + golang.org/x/sys v0.47.0 // indirect golang.org/x/text v0.38.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260630182238-925bb5da69e7 // indirect google.golang.org/grpc v1.82.0 // indirect diff --git a/cmd/wfctl/testdata/verify_capabilities/iac-missing-service/go.sum b/cmd/wfctl/testdata/verify_capabilities/iac-missing-service/go.sum index 00e2f3e0..5d845cfa 100644 --- a/cmd/wfctl/testdata/verify_capabilities/iac-missing-service/go.sum +++ b/cmd/wfctl/testdata/verify_capabilities/iac-missing-service/go.sum @@ -300,15 +300,15 @@ golang.org/x/net v0.56.0 h1:Rw8j/hFzGvJUZwNBXnAtf5sVDVt+65SK2C7IxCxZt5o= golang.org/x/net v0.56.0/go.mod h1:D3Ku6r+V6JROoZK144D2XfMHFcMq/0zSfLelVTCFKec= golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= -golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM= -golang.org/x/sync v0.21.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek= +golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw= -golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= +golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/text v0.38.0 h1:sXmwo9DwP3OK9EZ7PqAdaooSGozfl/3a6/xJcbzPRhE= golang.org/x/text v0.38.0/go.mod h1:YXZt3QhHUKYT53r2lLKFIVi6Ao1jdzrTR/KQ09qyxF4= golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= diff --git a/cmd/wfctl/testdata/verify_capabilities/missing-ldflag/go.mod b/cmd/wfctl/testdata/verify_capabilities/missing-ldflag/go.mod index 2d5eb383..743a9c58 100644 --- a/cmd/wfctl/testdata/verify_capabilities/missing-ldflag/go.mod +++ b/cmd/wfctl/testdata/verify_capabilities/missing-ldflag/go.mod @@ -31,7 +31,7 @@ require ( go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.28.0 // indirect golang.org/x/net v0.56.0 // indirect - golang.org/x/sys v0.46.0 // indirect + golang.org/x/sys v0.47.0 // indirect golang.org/x/text v0.38.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260630182238-925bb5da69e7 // indirect google.golang.org/grpc v1.82.0 // indirect diff --git a/cmd/wfctl/testdata/verify_capabilities/missing-ldflag/go.sum b/cmd/wfctl/testdata/verify_capabilities/missing-ldflag/go.sum index 00e2f3e0..5d845cfa 100644 --- a/cmd/wfctl/testdata/verify_capabilities/missing-ldflag/go.sum +++ b/cmd/wfctl/testdata/verify_capabilities/missing-ldflag/go.sum @@ -300,15 +300,15 @@ golang.org/x/net v0.56.0 h1:Rw8j/hFzGvJUZwNBXnAtf5sVDVt+65SK2C7IxCxZt5o= golang.org/x/net v0.56.0/go.mod h1:D3Ku6r+V6JROoZK144D2XfMHFcMq/0zSfLelVTCFKec= golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= -golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM= -golang.org/x/sync v0.21.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek= +golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw= -golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= +golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/text v0.38.0 h1:sXmwo9DwP3OK9EZ7PqAdaooSGozfl/3a6/xJcbzPRhE= golang.org/x/text v0.38.0/go.mod h1:YXZt3QhHUKYT53r2lLKFIVi6Ao1jdzrTR/KQ09qyxF4= golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= diff --git a/cmd/wfctl/testdata/verify_capabilities/name-drift/go.mod b/cmd/wfctl/testdata/verify_capabilities/name-drift/go.mod index 2c72d81d..65127084 100644 --- a/cmd/wfctl/testdata/verify_capabilities/name-drift/go.mod +++ b/cmd/wfctl/testdata/verify_capabilities/name-drift/go.mod @@ -31,7 +31,7 @@ require ( go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.28.0 // indirect golang.org/x/net v0.56.0 // indirect - golang.org/x/sys v0.46.0 // indirect + golang.org/x/sys v0.47.0 // indirect golang.org/x/text v0.38.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260630182238-925bb5da69e7 // indirect google.golang.org/grpc v1.82.0 // indirect diff --git a/cmd/wfctl/testdata/verify_capabilities/name-drift/go.sum b/cmd/wfctl/testdata/verify_capabilities/name-drift/go.sum index 00e2f3e0..5d845cfa 100644 --- a/cmd/wfctl/testdata/verify_capabilities/name-drift/go.sum +++ b/cmd/wfctl/testdata/verify_capabilities/name-drift/go.sum @@ -300,15 +300,15 @@ golang.org/x/net v0.56.0 h1:Rw8j/hFzGvJUZwNBXnAtf5sVDVt+65SK2C7IxCxZt5o= golang.org/x/net v0.56.0/go.mod h1:D3Ku6r+V6JROoZK144D2XfMHFcMq/0zSfLelVTCFKec= golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= -golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM= -golang.org/x/sync v0.21.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek= +golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw= -golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= +golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/text v0.38.0 h1:sXmwo9DwP3OK9EZ7PqAdaooSGozfl/3a6/xJcbzPRhE= golang.org/x/text v0.38.0/go.mod h1:YXZt3QhHUKYT53r2lLKFIVi6Ao1jdzrTR/KQ09qyxF4= golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= diff --git a/cmd/wfctl/testdata/verify_capabilities/release-good/go.mod b/cmd/wfctl/testdata/verify_capabilities/release-good/go.mod index e9d2e9ff..80763c60 100644 --- a/cmd/wfctl/testdata/verify_capabilities/release-good/go.mod +++ b/cmd/wfctl/testdata/verify_capabilities/release-good/go.mod @@ -31,7 +31,7 @@ require ( go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.28.0 // indirect golang.org/x/net v0.56.0 // indirect - golang.org/x/sys v0.46.0 // indirect + golang.org/x/sys v0.47.0 // indirect golang.org/x/text v0.38.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260630182238-925bb5da69e7 // indirect google.golang.org/grpc v1.82.0 // indirect diff --git a/cmd/wfctl/testdata/verify_capabilities/release-good/go.sum b/cmd/wfctl/testdata/verify_capabilities/release-good/go.sum index 00e2f3e0..5d845cfa 100644 --- a/cmd/wfctl/testdata/verify_capabilities/release-good/go.sum +++ b/cmd/wfctl/testdata/verify_capabilities/release-good/go.sum @@ -300,15 +300,15 @@ golang.org/x/net v0.56.0 h1:Rw8j/hFzGvJUZwNBXnAtf5sVDVt+65SK2C7IxCxZt5o= golang.org/x/net v0.56.0/go.mod h1:D3Ku6r+V6JROoZK144D2XfMHFcMq/0zSfLelVTCFKec= golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= -golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM= -golang.org/x/sync v0.21.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek= +golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw= -golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= +golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/text v0.38.0 h1:sXmwo9DwP3OK9EZ7PqAdaooSGozfl/3a6/xJcbzPRhE= golang.org/x/text v0.38.0/go.mod h1:YXZt3QhHUKYT53r2lLKFIVi6Ao1jdzrTR/KQ09qyxF4= golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= diff --git a/cmd/wfctl/testdata/verify_capabilities/version-drift/go.mod b/cmd/wfctl/testdata/verify_capabilities/version-drift/go.mod index 28ac8210..7c432b86 100644 --- a/cmd/wfctl/testdata/verify_capabilities/version-drift/go.mod +++ b/cmd/wfctl/testdata/verify_capabilities/version-drift/go.mod @@ -31,7 +31,7 @@ require ( go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.28.0 // indirect golang.org/x/net v0.56.0 // indirect - golang.org/x/sys v0.46.0 // indirect + golang.org/x/sys v0.47.0 // indirect golang.org/x/text v0.38.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260630182238-925bb5da69e7 // indirect google.golang.org/grpc v1.82.0 // indirect diff --git a/cmd/wfctl/testdata/verify_capabilities/version-drift/go.sum b/cmd/wfctl/testdata/verify_capabilities/version-drift/go.sum index 00e2f3e0..5d845cfa 100644 --- a/cmd/wfctl/testdata/verify_capabilities/version-drift/go.sum +++ b/cmd/wfctl/testdata/verify_capabilities/version-drift/go.sum @@ -300,15 +300,15 @@ golang.org/x/net v0.56.0 h1:Rw8j/hFzGvJUZwNBXnAtf5sVDVt+65SK2C7IxCxZt5o= golang.org/x/net v0.56.0/go.mod h1:D3Ku6r+V6JROoZK144D2XfMHFcMq/0zSfLelVTCFKec= golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= -golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM= -golang.org/x/sync v0.21.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek= +golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw= -golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= +golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/text v0.38.0 h1:sXmwo9DwP3OK9EZ7PqAdaooSGozfl/3a6/xJcbzPRhE= golang.org/x/text v0.38.0/go.mod h1:YXZt3QhHUKYT53r2lLKFIVi6Ao1jdzrTR/KQ09qyxF4= golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= diff --git a/plugins/actors/bridge_actor.go b/plugins/actors/bridge_actor.go index ac7ab6de..1bf6cbf0 100644 --- a/plugins/actors/bridge_actor.go +++ b/plugins/actors/bridge_actor.go @@ -82,7 +82,25 @@ type BridgeGrain struct { } // OnActivate initializes grain state when the grain is loaded into memory. -func (g *BridgeGrain) OnActivate(_ context.Context, _ *goaktactor.GrainProps) error { +func (g *BridgeGrain) OnActivate(_ context.Context, props *goaktactor.GrainProps) error { + var poolName string + for _, dep := range props.Dependencies() { + if ref, ok := dep.(*grainPoolReference); ok { + poolName = ref.poolName + break + } + } + registry, ok := props.ActorSystem().Extension(grainPoolRegistryID).(*grainPoolRegistry) + if !ok || poolName == "" { + return fmt.Errorf("actor grain: pool configuration is missing") + } + poolValue, ok := registry.pools.Load(poolName) + if !ok { + return fmt.Errorf("actor grain: pool %q not registered", poolName) + } + pool := poolValue.(*ActorPoolModule) + g.poolName, g.handlers = pool.name, pool.handlers + g.registry, g.app, g.logger = pool.stepRegistry, pool.app, pool.logger if g.state == nil { g.state = make(map[string]any) } diff --git a/plugins/actors/bridge_actor_test.go b/plugins/actors/bridge_actor_test.go index efffbfe0..2908a3c8 100644 --- a/plugins/actors/bridge_actor_test.go +++ b/plugins/actors/bridge_actor_test.go @@ -2,12 +2,98 @@ package actors import ( "context" + "fmt" + "strings" "testing" "time" + "github.com/GoCodeAlone/modular" + "github.com/GoCodeAlone/workflow/interfaces" + "github.com/GoCodeAlone/workflow/pipeline" "github.com/tochemey/goakt/v4/actor" ) +func TestBridgeGrain_RequiresPoolConfiguration(t *testing.T) { + ctx := context.Background() + sys, err := actor.NewActorSystem("test-unconfigured-grain") + if err != nil { + t.Fatal(err) + } + if err := sys.Start(ctx); err != nil { + t.Fatal(err) + } + defer sys.Stop(ctx) //nolint:errcheck + _, err = actor.GrainOf[*BridgeGrain](ctx, sys, "unconfigured", actor.WithGrainInitMaxRetries(0)) + if err == nil { + t.Fatal("zero-value grain activated without its pool configuration") + } + if !strings.Contains(err.Error(), "pool configuration is missing") { + t.Fatalf("unexpected activation failure: %v", err) + } +} + +type grainTestRegistry struct { + app modular.Application +} + +func (*grainTestRegistry) Types() []string { return []string{"step.grain-test"} } + +func (r *grainTestRegistry) Create(stepType, name string, config map[string]any, app any) (interfaces.PipelineStep, error) { + if stepType != "step.grain-test" || app != r.app { + return nil, fmt.Errorf("grain did not receive the pool registry and application") + } + return pipeline.NewSetStepFactory()(name, config, r.app) +} + +func TestBridgeGrain_PoolServicesSurviveDependencyRoundTrip(t *testing.T) { + ctx := context.Background() + sysMod, err := NewActorSystemModule("test-grain-resources", map[string]any{"shutdownTimeout": "5s"}) + if err != nil { + t.Fatal(err) + } + if err := sysMod.Start(ctx); err != nil { + t.Fatal(err) + } + defer sysMod.Stop(ctx) //nolint:errcheck + app := modular.NewStdApplication(modular.NewStdConfigProvider(nil), nil) + for _, poolName := range []string{"orders", "payments"} { + pool := &ActorPoolModule{ + name: poolName, system: sysMod, idleTimeout: time.Minute, + app: app, stepRegistry: &grainTestRegistry{app: app}, + handlers: map[string]*HandlerPipeline{"Ping": { + Steps: []map[string]any{{"name": "result", "type": "step.grain-test", "config": map[string]any{ + "values": map[string]any{"pool": "{{ .actor.pool }}"}, + }}}, + }}, + } + if _, err := pool.GetGrainIdentity(ctx, poolName+"-initial"); err != nil { + t.Fatal(err) + } + encoded, err := (&grainPoolReference{poolName: poolName}).MarshalBinary() + if err != nil { + t.Fatal(err) + } + var decoded grainPoolReference + if err := decoded.UnmarshalBinary(encoded); err != nil { + t.Fatal(err) + } + // Activate a fresh zero-value grain with the reconstructed reference. + grainID, err := actor.GrainOf[*BridgeGrain](ctx, sysMod.ActorSystem(), poolName+"-recreated", + actor.WithGrainDependencies(&decoded), actor.WithGrainDeactivateAfter(time.Minute)) + if err != nil { + t.Fatal(err) + } + resp, err := sysMod.ActorSystem().AskGrain(ctx, grainID, &ActorMessage{Type: "Ping"}, 5*time.Second) + if err != nil { + t.Fatal(err) + } + result, ok := resp.(map[string]any) + if !ok || result["pool"] != poolName { + t.Fatalf("pool %s: response %v, want matching pool configuration", poolName, resp) + } + } +} + func TestBridgeGrain_ReceiveAndStatePersistence(t *testing.T) { ctx := context.Background() @@ -40,27 +126,23 @@ func TestBridgeGrain_ReceiveAndStatePersistence(t *testing.T) { }, } - sys, err := actor.NewActorSystem("test-grain-sys", - actor.WithShutdownTimeout(5*time.Second), - ) + sysMod, err := NewActorSystemModule("test-grain-sys", map[string]any{"shutdownTimeout": "5s"}) if err != nil { t.Fatalf("failed to create actor system: %v", err) } - if err := sys.Start(ctx); err != nil { + if err := sysMod.Start(ctx); err != nil { t.Fatalf("failed to start actor system: %v", err) } - defer sys.Stop(ctx) //nolint:errcheck - - factory := func(_ context.Context) (actor.Grain, error) { - return &BridgeGrain{ - poolName: "test-pool", - handlers: handlers, - }, nil + defer sysMod.Stop(ctx) //nolint:errcheck + sys := sysMod.ActorSystem() + pool := &ActorPoolModule{ + name: "test-pool", + handlers: handlers, + system: sysMod, + idleTimeout: 10 * time.Minute, } - grainID, err := sys.GrainIdentity(ctx, "grain-1", factory, - actor.WithGrainDeactivateAfter(10*time.Minute), - ) + grainID, err := pool.GetGrainIdentity(ctx, "grain-1") if err != nil { t.Fatalf("failed to get grain identity: %v", err) } diff --git a/plugins/actors/grain_pool.go b/plugins/actors/grain_pool.go new file mode 100644 index 00000000..71e4d5bf --- /dev/null +++ b/plugins/actors/grain_pool.go @@ -0,0 +1,30 @@ +package actors + +import "sync" + +const grainPoolRegistryID = "workflow-grain-pools" + +// grainPoolRegistry keeps runtime services local to the actor system. GrainOf +// constructs zero-value grains, which resolve their pool during activation. +type grainPoolRegistry struct { + pools sync.Map +} + +func (*grainPoolRegistry) ID() string { return grainPoolRegistryID } + +// grainPoolReference carries only the pool name through grain recreation; +// registries, applications and loggers are resolved on the owning system. +type grainPoolReference struct { + poolName string +} + +func (*grainPoolReference) ID() string { return "workflow-grain-pool" } + +func (r *grainPoolReference) MarshalBinary() ([]byte, error) { + return []byte(r.poolName), nil +} + +func (r *grainPoolReference) UnmarshalBinary(data []byte) error { + r.poolName = string(data) + return nil +} diff --git a/plugins/actors/module_pool.go b/plugins/actors/module_pool.go index dc8d6214..970786c7 100644 --- a/plugins/actors/module_pool.go +++ b/plugins/actors/module_pool.go @@ -244,17 +244,9 @@ func (m *ActorPoolModule) GetGrainIdentity(ctx context.Context, identity string) return nil, fmt.Errorf("actor.pool %q: actor system not started", m.name) } - factory := func(_ context.Context) (actor.Grain, error) { - return &BridgeGrain{ - poolName: m.name, - handlers: m.handlers, - registry: m.stepRegistry, - app: m.app, - logger: m.logger, - }, nil - } - - return m.system.ActorSystem().GrainIdentity(ctx, identity, factory, + m.system.grainPools.pools.Store(m.name, m) + return actor.GrainOf[*BridgeGrain](ctx, m.system.ActorSystem(), identity, + actor.WithGrainDependencies(&grainPoolReference{poolName: m.name}), actor.WithGrainDeactivateAfter(m.idleTimeout), ) } diff --git a/plugins/actors/module_system.go b/plugins/actors/module_system.go index a314294c..7859c79d 100644 --- a/plugins/actors/module_system.go +++ b/plugins/actors/module_system.go @@ -18,6 +18,7 @@ type ActorSystemModule struct { shutdownTimeout time.Duration system actor.ActorSystem logger *slog.Logger + grainPools grainPoolRegistry // Default recovery policy defaultSupervisor *supervisor.Supervisor @@ -78,6 +79,7 @@ func (m *ActorSystemModule) Start(ctx context.Context) error { opts := []actor.Option{ actor.WithShutdownTimeout(m.shutdownTimeout), actor.WithDefaultSupervisor(m.defaultSupervisor), + actor.WithExtensions(&m.grainPools), } sys, err := actor.NewActorSystem(m.name, opts...) @@ -88,6 +90,10 @@ func (m *ActorSystemModule) Start(ctx context.Context) error { if err := sys.Start(ctx); err != nil { return fmt.Errorf("actor.system %q: failed to start: %w", m.name, err) } + if err := sys.Inject(&grainPoolReference{}); err != nil { + _ = sys.Stop(ctx) + return fmt.Errorf("actor.system %q: failed to register grain pool dependency: %w", m.name, err) + } m.system = sys return nil From 9f4063957b2ce0d7a9c0cc886ae00abac5fd7de2 Mon Sep 17 00:00:00 2001 From: Jon Langevin Date: Fri, 2 Oct 2026 14:43:36 -0400 Subject: [PATCH 4/4] ci: rerun restored security workflows