@patronage/factory-ci 1.0.0-alpha.31 → 1.0.0-alpha.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -5
- package/dist/.build-fingerprint.json +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -153,11 +153,11 @@ const deployWebsite = job("deploy-website", {
|
|
|
153
153
|
});
|
|
154
154
|
```
|
|
155
155
|
|
|
156
|
-
The step
|
|
156
|
+
The generated decision step runs `psf production:impact --candidate "$FACTORY_CANDIDATE_SHA"` (the `candidate` option, default `github.sha`, plus `--stage` when the consumer passes one). The command resolves each target's demand from that target's last trusted successful deployment receipt to the candidate, never from the push's `before` and `after` commits. The step is `continue-on-error`, and every generated target condition keeps work demanded unless the command succeeded, reported a usable decision, and explicitly withdrew that target. Each deploy job declares `impact.permissions` and appends `impact.receiptSteps(target)` after its deploy and health steps: a success receipt (`--publish-receipt success --target <name> --candidate "$FACTORY_CANDIDATE_SHA"`), a bind step named for the new deployment id, and a failure receipt. Only a bound success receipt becomes the next baseline. The artifact with an empty target list generates no deploy jobs because job creation remains with the consumer. This package does not own target declarations, deploy topology, credentials, commands, health policy, or convergence/no-op proof.
|
|
157
157
|
|
|
158
|
-
The decision checkout must make
|
|
158
|
+
The decision checkout must make the baseline commit reachable. Use `factoryWorkflow({ setup: { checkout: { fetchDepth: 0, ref: "${{ github.sha }}" } } })`; a shallow checkout is safe but deliberately refuses withdrawal because the baseline commit is unreadable.
|
|
159
159
|
|
|
160
|
-
When deployment begins from a successful `workflow_run` instead of the push event itself, carry that push identity through the typed artifact seam
|
|
160
|
+
When deployment begins from a successful `workflow_run` instead of the push event itself, carry that push identity through the typed artifact seam so the decision job checks out the triggering head and passes it as the candidate:
|
|
161
161
|
|
|
162
162
|
```ts
|
|
163
163
|
import {
|
|
@@ -197,8 +197,7 @@ const identity = factoryPushIdentityConsumer({
|
|
|
197
197
|
downloadArtifact: workflowArtifact.actions.downloadArtifact,
|
|
198
198
|
});
|
|
199
199
|
const impact = factoryProductionImpactWorkflow({
|
|
200
|
-
|
|
201
|
-
before: identity.outputs.before,
|
|
200
|
+
candidate: identity.outputs.after,
|
|
202
201
|
targets: profile.impact.targets.map(({ name }) => name),
|
|
203
202
|
});
|
|
204
203
|
const decision = {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@patronage/factory-ci",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.32",
|
|
4
4
|
"description": "Deep CI and deploy building blocks for Patronage factory projects: workflow source artifacts, hosted diff classification, Alchemy entry execution, and disposable-stage semantics",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"alchemy",
|